在CSS中使用更改的显示属性表示内容

时间:2016-01-27 22:42:31

标签: html css html5 specifications

<button> specification part中,我们发现允许的内容仅为Phrasing content。它是有效的HTML代码部分(选中here):

<button>
    <span></span>
</button>

这不是有效的HTML代码部分(已选中here):

<button>
    <div></div>
</button>
  

错误:在此上下文中,元素div不允许作为元素button的子元素。 (抑制此子树中的更多错误。)

但我们可以更改display的{​​{1}}属性:

<span>

看起来我们使用<button> <span style="display: block"></span> </button> 代替<div>,但HTML有效。 (通过规范)是否可以使用允许的内容元素并更改其<span>属性?

2 个答案:

答案 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