Html CSS不改变前两个字符的颜色

Html CSS不改变前两个字符的颜色,html,css,Html,Css,HTML *required第一个::字母代表字母,不代表符号 所以你可以这样做 <style> .required::first-letter { font-size: 200%; color: #8A2BE2; } </style> 或 您可以使用::before .required { color: #8A2BE2; } i { font-size: 200%; color: #8A2BE2; } .required::before

HTML


*required

第一个::字母
代表字母
不代表符号

所以你可以这样做

<style>
.required::first-letter {
 font-size: 200%;
 color: #8A2BE2;
}
</style>

您可以使用
::before

.required {
    color: #8A2BE2;
}
i {
    font-size: 200%;
    color: #8A2BE2;
}
.required::before{
内容:“*”;
字体大小:200%;
颜色:#8A2BE2;
}

必需


选择符:第一个字母
用于向指定选择符的第一个字母添加样式。
*
是一个符号

您可以使用
::before

.required {
    color: #8A2BE2;
}
i {
    font-size: 200%;
    color: #8A2BE2;
}
.required::before{
内容:“*”;
字体大小:200%;
颜色:#8A2BE2;
}

required

我认为这是因为浏览器会将css样式从块的开头应用到第一个字母,而它不认为“*”是一个字母


为什么不使用::before,然后设置content='*'

.required::before {
    content: '*';
    font-size: 200%;
    color: #8A2BE2;
}

<p class="required">Required</p>

如果您查看中的规范,它会显示:

标点符号(即“开放”(Ps)中以Unicode定义的字符), “结束”(Pe)、“初始”(Pi)、“最终”(Pf)和“其他”(Po) 在第一个字母之前或之后的标点符号类) 包括在内。[UNICODE]


所以星号应该包括在规范中(在unicode的“其他”(Po)标点类中)。这就是为什么它包含在css中。

为什么不使用::before,然后设置content='*'?我认为巴特的观点是*不是一个字母。检查这个:
.required::before {
    content: '*';
    font-size: 200%;
    color: #8A2BE2;
}

<p class="required">Required</p>
        .required::before {
        content:'*';
        font-size: 200%;
        color: #8A2BE2;

}