<分区>
我得到了 http://jsfiddle.net/8p2Wx/2/从我之前问的一个问题中,我看到了这些行:
.cf:before,
.cf:after {
content:"";
display:table;
}
.cf:after {
clear:both;
}
如果我拿走content:""
,效果就大打折扣了,我不明白为什么有必要。
为什么需要给:after
和:before
伪元素添加一个空的content
?
<分区>
我得到了 http://jsfiddle.net/8p2Wx/2/从我之前问的一个问题中,我看到了这些行:
.cf:before,
.cf:after {
content:"";
display:table;
}
.cf:after {
clear:both;
}
如果我拿走content:""
,效果就大打折扣了,我不明白为什么有必要。
为什么需要给:after
和:before
伪元素添加一个空的content
?
最佳答案
如果不定义内容应该是什么,就不能设置生成内容的样式。如果你真的不需要任何内容,只需要一个额外的“不可见元素”来设置样式,你可以将它设置为空字符串 ( content: ''
) 并只设置样式。
自己很容易确认:http://jsfiddle.net/mathias/YRm5V/
顺便说一句,您发布的代码片段是 micro clearfix hack,这里有解释:http://nicolasgallagher.com/micro-clearfix-hack/
至于你的第二个问题,你需要an HTML5 shiv (一小段 JavaScript)制作 <nav>
在一些旧版浏览器中可设置样式。
关于css - 为什么在::after 伪元素上需要一个空的 `content` 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9599811/