Css 伪元素中的字体族

Css 伪元素中的字体族,css,internet-explorer,pseudo-element,css-tables,Css,Internet Explorer,Pseudo Element,Css Tables,Internet Explorer 8、9、10在这里似乎总是使用相同的(系统)字体。事实上,Internet Explorer根本不关心字体系列。重要的是将显示:表格单元格和:before或:before组合在一起: 正文>div{ 显示:表格; } 正文>分割>分割:之前{ 字体系列:monospace; 显示:表格单元格; 内容:'在IE中不是单空格字体'; } 这是已知的bug吗?找不到关于它的任何信息。 在我看来,display:table cell导致了这个问题 用户代理必须忽略

Internet Explorer 8、9、10在这里似乎总是使用相同的(系统)字体。事实上,Internet Explorer根本不关心
字体系列。重要的是将
显示:表格单元格
:before
:before
组合在一起:


正文>div{
显示:表格;
}
正文>分割>分割:之前{
字体系列:monospace;
显示:表格单元格;
内容:'在IE中不是单空格字体';
}
这是已知的bug吗?找不到关于它的任何信息。

在我看来,
display:table cell
导致了这个问题

用户代理必须忽略以下带有:before和:after伪元素的属性:“position”、“float”、list属性和table属性

:before和:after伪元素允许“display”属性的值,如下所示:

如果选择器的主题是块级元素,则允许的值为“无”、“内联”、“块”和“标记”。如果“display”的值有任何其他值,则伪元素的行为将与该值为“block”一样。
如果选择器的主题是内联级别元素,则允许的值为“无”和“内联”。如果“display”的值有任何其他值,则伪元素的行为将与该值为“inline”一样


因此,不要使用
display:table cell
而使用
display:block
。它将按预期工作。依我看,IE的错误处理在这种情况下可能有问题。

请参阅:不,这不是问题所在!当我切换到
显示时:内联块它可以工作。与
monospace
无关。如果你想在里面放任何其他的真实字体。你的伪元素在IE7中工作吗?整个演示是重现问题所必需的还是可以简化?@user1671639抱歉,我会解决这个问题。是的,我知道。但找不到任何相关信息。不幸的是,在我的情况下,建议
display:block
不是一个解决方案;这也不是问题所在。我想说Internet Explorer在这里的异常处理是错误的,因为它的行为不像
,因为它忽略了属性
字体系列
,而不是
位置
浮动
,列表或表格属性。此外,所有浏览器,甚至是Internet Explorer,都会忽略该规范,因为它们将伪元素视为
表格单元格
。看看这个。我希望它能帮助你找到解决问题的方法。