下面是一段普通的代码:
css:
html:
但是这个时候需求增加了,在页面中不仅要有一个灰色的盒子可能还有蓝色的盒子,可能还有绿色.
通常我们会想到:用继承嘛。好我们就做如下更改:
css:
html:
但是这个时候需求又有变化了,根与应用的不同,盒子中有些要用到12号字,有些要用到14号字,有些要变局10px有些要20px,估计这个时候你就要头大了,如果要用继承,css代码就会变得异常的复杂,那我们就来试验一下用组合的方式看能不能解决。
css:
Html
虽然在class上组合了好几个类,但是代码和逻辑都非常清晰,而且非常容易维护,随意组合随意扩展。从上面可以看到“组合”的方式是不言而喻的,但是也不是十全十美的,再拆分组合的时候一定不要过度,不然效果可能适得其反,只有把组合+继承运用的恰到好处才能让我们的代码更加优雅和艺术。
上面的样式用到了类选择器,下面就来看看CSS中几个常用的选择器:
类选择器
在 CSS 中,类选择器以一个点号显示:
在下面的 HTML 代码中,h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择器中的规则。
注意:类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用
ID选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
注意:id 属性只能在每个 HTML 文档中出现一次。
派生选择器
通过依据元素在其位置的上下文关系来定义样式,通过合理地使用派生选择器,可以使标记更加简洁。
比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:
请注意标记为 <strong> 的蓝色代码的上下文关系:
<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p> <ol><li><strong>
我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li> </ol>
在上面的例子中,只有 li 元素中的 strong 元素的样式为斜体字,无需为 strong 元素定义特别的 class 或 id,代码更加简洁。
再看看下面的 CSS 规则:
strong {
color: red;
}
h2 {
color: red;
}
h2 strong
{
color: blue;
}
下面是它施加影响的 HTML:
<p>The strongly emphasized word in this paragraph is<strong>red</strong>.</p> <h2>This subhead is also red.</h2><h2>
The strongly emphasized word in this subhead is<strong>
blue</strong>
.</h2>
在现代布局中,id 选择器和类选择器常常用于建立派生选择器。
不过有一点要注意:CSS 对大小写不敏感。不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛