将css-content设置为空字符串会更改背景

将css-content设置为空字符串会更改背景,css,background-color,Css,Background Color,我在标题栏中显示文章标题,这是一个无序列表。标题的Css设置为 .header{ background: #f0f0f0; box-shadow: 0 2px 2px -2px #777; *zoom: 1; width: auto; } .header:before, .header:after { display: table; } .header:after { clear: both; } 但背景色(或)阴影框不显示上述属性。它带有白

我在标题栏中显示文章标题,这是一个无序列表。标题的Css设置为

.header{
    background: #f0f0f0;
    box-shadow: 0 2px 2px -2px #777;
    *zoom: 1;
    width: auto;
}
.header:before, .header:after {
    display: table; 
}
.header:after {
    clear: both; 
}
但背景色(或)阴影框不显示上述属性。它带有白色背景色,就像这样

然后我添加了一个额外的属性作为

.header:before, .header:after {
  content: '';
}
背景色已按(我所需)应用,


将内容设置为前后空字符串如何影响标题的背景色?

您可以在前后设置伪元素的所有属性,但如果不设置“content”属性,这些属性将不会占用空间。很抱歉没有发表评论,但我仍然没有足够的代表性。

sudo元素
:在
之前和
:在
之后没有
内容,这些元素在页面中是可见的,如果它们有
内容
,则被隐藏,
::before
s和
::before
s如果没有内容,就什么都不做。所以给他们一个内容,即使是空的,也能让他们工作。现在的问题是:为什么标题没有背景?那么,它有没有任何非浮动和非绝对的内容?如果没有,那么它将被视为空的,不会被绘制。嗨,李斯特,谢谢你的评论。。。设置
content
属性如何提供所需的背景
颜色
。为什么
背景:#f0无法做到这一点?我使用的是reactjs,它从javascript列表对象加载标题项……就像我说的,如果一个元素没有任何内容,它就不会被绘制。标题只有在里面有东西的时候才会被画出来!如果里面的东西都是浮动的,或者是绝对定位的,它们就不算“某物”!因此,只有
::before
::before
伪元素计数,至少在它们处于工作状态时是这样。
content:
属性的默认值是
normal
,它计算为
none
,这意味着“不生成伪元素”。