#和。在为一个元素声明一组样式时,在决定使用哪一种样式时使用的语义是什么?
当前回答
对已经说过的内容做几个快速扩展…
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在整个文档中必须是唯一的,而任何数量的元素都可以共享一个类。