才子佳人博客

我的故事我讲述

层叠样式表(CSS)选择符简介
 
来源:xjh  编辑:xjh  2011-11-10

页面编写者可以使用层叠样式表(Cascading Style Sheets,CSS)更精确地控制内容的外观。CSS 规则由一个选择符和设置的属性和值组成,其中的选择符决定应用这个规则的内容。尽管大多数开发人员习惯使用基于标记名的选择符,但是 CSS 实际上还提供了另外几种控制能力更强的选择符。本文讨论各种选择符并演示使用方法。

1、通用选择符

通用选择符把样式应用于所有或指定范围的内容。

*{

margin: 0px;

padding: 0px;

list-style-type: none;
}


p * {

font-family: 宋体 }
}

2、类型选择符(重新定义HTML标签)

最常用的选择符可能是类型选择符,但是大多数人把它称为标签名或元素选择符。这个选择符根据元素名选择内容。例如,修改表数据(td)元素中所有文本的大小:

td { font-size: 10pt }

body{

font-family: 宋体;

font-size: 14px;

text-align: center;
}

3、类选择符

仅次于类型选择符,最常用的选择符是类选择符。类选择符选择 class 属性为特定值的所有元素。类选择符的语法是在类名前面加一个点号(.)。例如,category 类中的所有文本以粗体显示:

.category { font-weight: bold; }

类是一种增强页面可管理性的出色方法,因为只需修改样式表,就可以对站点的外观进行全面修改。类还可以根据逻辑或业务条件区分内容,而不必仅仅依靠页面的结构。例如,可以创建一个类,通过它为所有人名设置样式。

在某些情况下,可以根据类所在的元素进一步限制基于类的规则。实现这个任务的方法是把类名附加在元素名后面。例如,把表数据单元格中的类别名设置为斜体。

td.category { font-style: italic } 限制类使用范围

4、ID 选择符

另一种特殊选择符是 ID 选择符。与类选择符相似,ID 选择符也基于一个属性的值,但这个属性是 ID 属性。这个选择符用于选择出特定的单一元素;ID 在一个文档中应该是惟一的。例如,ID 属性值前面加上一个磅符(#),从而选择 ID 为 bestinshow 的 div,并把它的颜色设置为红色。

#bestinshow { color: red }

5、层次结构关系:后代、子和同胞(选择符组合)

CSS 不但允许根据元素名应用规则,还允许根据元素在整个文档中的位置应用规则。例如,一个规则可以只选择段落标记内的链接。在 Document Object Model 中,这称为段落元素的后代(descendant),而段落元素称为祖先(ancestor)。在这种情况下,选择符是祖先元素名后面跟着后代元素名。例如,选择段落中的所有链接(不包括表中的链接)并消除它们的下划线。

p a { text-decoration: none } 限制a生效范围在p标签内

.blockunit h3 a { 限制a生效范围在blockunit类的h3标签内

color: #19559C;

text-decoration: none;
}

#container #navi ul li a { 限制a生效范围在#container #navi ul li 标签内

color: #FFF;
}

6、伪类和伪元素

最后讨论的一组选择符不是基于任何特定元素,而是基于文档中的特定条件:伪类(pseudo-classes)。伪类的表示方法是在名称前面加一个冒号。伪类与特定元素无关,而是根据文档中发生的情况应用样式。最常用的伪类是 :hover 伪类,支持它的浏览器也最多。当用户把鼠标停留在一个元素上时,这个伪类就会应用样式。还有其他的如::link、:visited、:active等。注意,伪类可以应用于特定的元素类型,比如:

a{ text-decoration: none; }

a:link {

color: #000;
}

a:visited {

color: #000;
}
a:hover {

color: #F60;
}
a:active {

color: #000;
}


参考来源:
《CSS那些事儿》电子工业出版社 林小志
http://www.ibm.com/developerworks/web/library/wa-csssel/(英文原文)
http://www.ibm.com/developerworks/cn/web/wa-csssel/中文译文
http://developer.51cto.com/art/201008/222862.htm全面解析CSS优先级规则
http://developer.51cto.com/art/201009/223156.htm解决CSS执行顺序与优先权问题


分类:网站设计| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: