問題

我聽說在內聯元素中放置塊元素是一個HTML sin:

 <a href="http://www.mydomain.com"><div>
What we have here is a problem. 
You see, an anchor element is an inline element,
and the div element is a block level element.
</div></a>
 

但是如果您在樣式表中將外部錨定設定為display:block會怎麼樣?這仍然是錯誤的嗎? block-level和內聯元素上的HTML 4.01規範似乎認為是這樣的:

樣式表提供了手段 指定任意呈現 元素,包括元素是否 作為塊或內聯呈現.在 有些情況,例如內聯樣式 對於列表元素,這可能是 適當但一般而言, 不鼓勵提交人 壓倒常規武器 HTML元素的解釋 這樣。

有沒有人對這個問題有任何進一步的提示?

  最佳答案

根據您正在使用的HTML版本:

  • HTML 5 指出,<a>元素“可以包裹整個段落、列表、表格等,甚至整個部分,只要內部沒有互動式內容(例如按鈕或其他連結)”。

  • HTML 4.01 指定<a>元素可能只包含內聯元素.<div>是一個塊元素,所以它可能不會出現在<a>中.

    當然,您可以自由地設定內聯元素,以便它似乎是塊,或確實設定塊樣式,以便呈現內聯. HTML中使用的術語inlineblock指的是元素與文件語義結構的關係,而CSS中的相同術語更多地與元素的視覺樣式相關.如果您以blocky方式顯示內聯元素,那就好了.

    但是,當CSS不存在時,您應該確保文件的結構仍然有意義,例如當透過諸如螢幕閱讀器等輔助技術訪問時,或者當強大的Googlebot檢查時。

  相同標籤的其他問題

html