#和。在为一个元素声明一组样式时,在决定使用哪一种样式时使用的语义是什么?


当前回答

对已经说过的内容做几个快速扩展…

id必须是唯一的,但是您可以使用相同的id使不同的样式更加特定。

例如,给定这个HTML摘录:

<div id="sidebar">
    <h2>Heading</h2>
    <ul class="menu">
        ...
    </ul>
</div>
<div id="content">
    <h2>Heading</h2>
    ...
</div>
<div id="footer">
    <ul class="menu">
        ...
    </ul>
</div>

你可以应用不同的样式:

#sidebar h2
{ ... }

#sidebar .menu
{ ... }

#content h2
{ ... }

#footer .menu
{ ... }

还有一件有用的事情需要知道:你可以在一个元素上有多个类,通过空格分隔它们…

<ul class="main menu">...</ul>
<ul class="other menu">...</ul>

它允许你在.menu中使用。main有特定的样式。菜单和.sub.menu

.menu
{ ... }

.main.menu
{ ... }

.other.menu
{ ... }

其他回答

同样值得注意的是,在级联中,id(#)选择器比b(.)选择器更具体。因此,id语句中的规则将覆盖class语句中的规则。

例如,如果下面两个语句都是:

.headline {
  color:red;
  font-size: 3em;
}

#specials {
  color:blue;
  font-style: italic;
}

应用于相同的HTML元素:

<h1 id="specials" class="headline">Today's Specials</h1>

颜色:蓝色规则将覆盖颜色:红色规则。

#是一个id选择器。它只匹配具有匹配id的元素。 Next样式规则将匹配id属性值为"green"的元素:

#green {color: green}

更多信息请参见http://www.w3schools.com/css/css_syntax.asp

对已经说过的内容做几个快速扩展…

id必须是唯一的,但是您可以使用相同的id使不同的样式更加特定。

例如,给定这个HTML摘录:

<div id="sidebar">
    <h2>Heading</h2>
    <ul class="menu">
        ...
    </ul>
</div>
<div id="content">
    <h2>Heading</h2>
    ...
</div>
<div id="footer">
    <ul class="menu">
        ...
    </ul>
</div>

你可以应用不同的样式:

#sidebar h2
{ ... }

#sidebar .menu
{ ... }

#content h2
{ ... }

#footer .menu
{ ... }

还有一件有用的事情需要知道:你可以在一个元素上有多个类,通过空格分隔它们…

<ul class="main menu">...</ul>
<ul class="other menu">...</ul>

它允许你在.menu中使用。main有特定的样式。菜单和.sub.menu

.menu
{ ... }

.main.menu
{ ... }

.other.menu
{ ... }

#表示它匹配元素的id。的。表示类名:

<div id="myRedText">This will be red.</div>
<div class="blueText">this will be blue.</div>


#myRedText {
    color: red;
}
.blueText {
    color: blue;
}

请注意,在HTML文档中,id属性必须是唯一的,因此如果有多个元素需要特定的样式,则应该使用类名。

.class目标是以下元素:

<div class="class"></div>

#class目标如下元素:

<div id="class"></div>

注意,id在整个文档中必须是唯一的,而任何数量的元素都可以共享一个类。