Html 从伪类重写css

Html 从伪类重写css,html,css,Html,Css,我不是设计师,所以这个问题听起来可能很愚蠢 我可以从伪类重写color属性,但不能填充 这里有一个例子 html: 使用它可能会对您有所帮助 #pid::before { left: -20px; position: relative; } 原因 从伪类应用的样式仅应用于内容。而不是实际的元素。你可能会认为!重要提示正在更改颜色,但事实并非如此 因此,当您从pseudo类更改颜色时,内容(即测试的颜色)将更改。而左填充仅应用于测试而不是元素 检查段落并注意填充 .pclas

我不是设计师,所以这个问题听起来可能很愚蠢

我可以从伪类重写
color
属性,但不能填充

这里有一个例子

html:

使用它可能会对您有所帮助

#pid::before {
    left: -20px;
    position: relative;
}

原因

从伪类应用的样式仅应用于
内容。而不是实际的元素。你可能会认为
!重要提示
正在更改颜色,但事实并非如此

因此,当您从pseudo类更改
颜色
时,内容(即
测试
的颜色)将更改。而
左填充
仅应用于
测试
而不是
元素

检查段落并注意填充

.pclass{
颜色:红色;
左侧填充:20px;
}
P课:以前{
内容:“测试”;
颜色:绿色;
左侧填充:10px;
}

您只需使用
\pid
选择器覆盖填充:id的优先级高于类:

.pclass {
  color:red;
  padding-left: 20px;
}
#pid:before {
  content: 'test';
  color: green;
}
#pid {
  padding-left: 0;
}
如果希望保留
添加的文本后的边距:在
之前,可以添加

padding-right: 20px;

to
#pid:before

我今天学到了一些东西,谢谢你的回答。我不能从这里覆盖填充吗?CSS中不使用id选择器。这是一种不好的做法
.pclass {
  color:red;
  padding-left: 20px;
}
#pid:before {
  content: 'test';
  color: green;
}
#pid {
  padding-left: 0;
}
padding-right: 20px;