我与伪元素的风格演奏和跨困惑我伪元素的样式优先
考虑下面的CSS和HTML
HTML行为传来:
<p>
Note: As a rule, double colons (::) should be used instead of a single colon (:). This distinguishes pseudo-classes from pseudo-elements. However, since this distinction was not present in older versions of the W3C spec, most browsers support both syntaxes for the sake of compatibility. Note that ::selection must always start with double colons ::.
</p>
和风格
p::first-letter {
font-size: 20px;
color: red;
}
p::first-line {
font-variant: small-caps;
color: green;
}
p::before {
content: 'Start';
color: blue;
}
在Chrome中,行为如下:第一个字母:: before conten即使它不包含p和::之前的样式不会将颜色覆盖为蓝色,t也会显示为红色。
而且当存在::不信的内容之前,我把&或*有 - 所有一线变成绿色,并没有应用::第一个字母和::风格之前。
我使用Ubuntu 17.04在最新版本的浏览器,为什么::由其他选择的内容之前
所以任何人都可以解释伪元素选择器和应用的样式,以及为什么own :: before样式不会覆盖它们,即使它们是“更新”的样式。
的特异性,所有的选择是2,所以我想说的最后一个获胜。但它不 –
不,我的第一个字母是红色的,而不是蓝色的 –
啊道歉,误读你的帖子哈哈会删除我的意见:) – ThisGuyHasTwoThumbs