对CSS继承感到困惑

bil*_*ory 6 css

我一直在阅读关于CSS的内容,我对继承如何工作感到困惑(我认为这是下面的正确术语).在CSS中我可以声明一个类:

#mytext {
}
Run Code Online (Sandbox Code Playgroud)

然后我看到有些人这样做:

p.mytext {
}
Run Code Online (Sandbox Code Playgroud)

但为什么这样呢?他们为什么不能这样做:

<p class="mytext">
Run Code Online (Sandbox Code Playgroud)

没有声明p.mytext?我问的是有意义的吗?

有时我看到:

p#mytext......为什么会有所不同?我将继续搜索教程,但感谢任何建议.

Mik*_*ike 7

井号(#)表示需要对页面唯一的ID.句点(.)指的是可以多次使用的类.p#mytext如果他们想要一个(仅一个)段落标签的独特样式,人们会使用.

你可以在这里阅读它.

想要补充的是,一些Web开发人员似乎倾向于将所有内容都声明为类.如果您经常使用任何类型的布局生成器,则每个元素都将成为一个类.

  • 是的,只有一个.就像任何ID都是独特的一样.假设您有一个带有标题和一些评论的网页.您的标头将是唯一的,因为通常大多数网站只需要一个标头,因此您使用ID.至于评论,由于您在页面上有多条评论,因此您将创建一个类. (3认同)

bal*_*ton 6

#mytext引用<p id="mytext"/>(不需要是一个p元素,#mytext只是引用该ID)

.mytext引用<p class="mytext"/>(不必是p元素,.mytext仅仅是指任何与类名)

通过添加其他内容,例如p.mytext您为规则创建更强大的绑定,例如: p.mytext { color:white; } .mytext { color:black; }

可能起初看起来颜色会是黑色,但是因为你已经创建了一个更强的绑定(通过更具体的更早),实际的颜色将是白色.