在<button>
specification part中,我们发现允许的内容仅为Phrasing content。它是有效的HTML代码部分(选中here):
<button>
<span></span>
</button>
这不是有效的HTML代码部分(已选中here):
<button>
<div></div>
</button>
但我们可以更改display
的{{1}}属性:
<span>
看起来我们使用<button>
<span style="display: block"></span>
</button>
代替<div>
,但HTML有效。 (通过规范)是否可以使用允许的内容元素并更改其<span>
属性?
答案 0 :(得分:2)
即使您使用display: block
设置范围,您仍然无法在其中放置块级元素:
<div><p>correct</p></div>
<span style="display: block;"><p>wrong</p></span>
(X)HTML仍然必须服从(X)HTML DTD(无论你使用哪一个),无论CSS如何改变。
所以它们是不同的,因此这里没有任何问题。
答案 1 :(得分:1)
但是在 HTML5 中,某些块元素可能会放在内联中!我们说将块元素放在链接中,在其他情况下它没有意义。 “Block-level” links in HTML5