有什么区别.和#在css文件中?

Geo*_*rge 27 css syntax

在css示例中,我看到规则定义从a .开始,有些开始于#- 有时这些规则混合在同一个文件中.这些规则有什么区别:

h1  { font-size:18pt;}
.new-alerts  { font-size:11pt; font-weight:bold;}
#old-alerts  { position:relative; font-size:10pt; }
Run Code Online (Sandbox Code Playgroud)

它们在html页面上引用不同吗?它是如何继承属性的?

Mat*_*chu 38

.是指一个阶级.<span class="one" />可以选择.one.

#是指ID.<span id="one" />可以选择#one.

当可能存在多个给定元素时,您应该使用类;当您知道只有一个元素时,您应该使用ID.#navigation-bar将使用ID,因为您的布局中只有一个导航栏,但.navigation-link会使用类名,因为您将有多个导航链接.(用它#navigation-bar a:link来获取导航链接会更好,但你明白我的意思.)

  • 它们是在语义上向元素添加信息的两种方式.虽然你只能标记一个具有特定`id`的元素,但你可以使用相同的`class`. (2认同)
  • 您将ID用于一个特定标记,它是唯一的,您应该只在页面上具有相同的ID.类是可重用的,可以根据需要应用于任意数量的元素. (2认同)
  • 但是,`.navigation-link`也可能被`#navigation-bar a:link`取代,它指的是导航栏中的链接.请注意,元素本身在大多数情况下都具有语义含义,如果正确使用它们,您可以节省太多类的使用. (2认同)

Joe*_*oey 10

.是一个类选择器,hash/pound/octothorpe # 由ID选择:

<style>
    .foo { ... }
    #bar { ... }
</style>
...
<p class='foo'>Foo</p>
<p id='bar' class='baz'>Bar</p>
Run Code Online (Sandbox Code Playgroud)

ID必须在整个文档中是唯一的,类不必是.这基本上是主要区别.关于脚本有一些注意事项,但在造型时通常不会特别感兴趣.

此外,元素可能属于多个类:

<p class="foo bar baz">
Run Code Online (Sandbox Code Playgroud)

如上所示,类和ID不是互斥的.