css - 为什么在::after 伪元素上需要一个空的 `content` 属性?

标签 css pseudo-element css-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/

相关文章:

html - 如何使用 CSS 降低元素背景的不透明度?

javascript - Bootstrap 下拉菜单和其他组件在侧边菜单中不起作用(Sidr 插件)

javascript - 如何将子 div 放入父类的填充内?

css - :hover:before text-decoration none has no effects?

php - 在 php 中使用 css 伪元素不起作用

css - 从 CSS 文件中读取国际化内容

javascript - 使 Magellan 侧边栏在移动设备中工作/移至页面底部

html - 在 css::after 之后放置一个 div

图像上的 CSS 箭头(不使用边框)

javascript - 将 CSS attr() 与样式化组件一起使用