Css 为什么:before和:after伪元素只能在Firefox中工作?

Css 为什么:before和:after伪元素只能在Firefox中工作?,css,pseudo-element,Css,Pseudo Element,我创建了一个select列表,其中的选项有:after和:before伪元素- option:after,option::before{ 内容:“; 高度:5px; 宽度:5px; 背景:#c00; 边界半径:5px; 显示:内联块; } 但是,这只适用于Firefox,而不适用于其他浏览器 如上面所述,:after是“在匹配元素之后呈现的伪元素,用于添加化妆品内容”,没有人对其不能应用的元素声明任何限制 问题-为什么所有浏览器(FF除外)都不能正确显示伪元素? 任何文件都非常感谢 你读过这篇

我创建了一个
select
列表,其中的选项有
:after
:before
伪元素-

option:after,option::before{
内容:“;
高度:5px;
宽度:5px;
背景:#c00;
边界半径:5px;
显示:内联块;
}
但是,这只适用于Firefox,而不适用于其他浏览器

如上面所述,
:after
是“在匹配元素之后呈现的伪元素,用于添加化妆品内容”,没有人对其不能应用的元素声明任何限制

问题-为什么所有浏览器(FF除外)都不能正确显示伪元素? 任何文件都非常感谢

你读过这篇文章吗:

公认的答案是,这是Chrome的一个问题:


是否存在限制未定义,因此行为不一致。以下章节相关章节底部提到了这一点:

注意。此规范没有完全定义:before和:after与替换元素(如HTML中的IMG)的交互。这将在未来的规范中进行更详细的定义


大多数HTML表单元素都被视为替换元素,包括
select
option

SitePoint的描述不准确。MDN的描述更接近规范中的描述。谢谢。这种说法是有道理的,同时也是第一个字母browsers@ZoltanToth:但是
:第一个字母
伪元素只能应用于块级元素。@w3d-没错,但不管@w3d:具体地说,它只能应用于块容器()。在这种情况下,
选项
不是块容器。