热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » DIV+CSS编程 » 如何利用CSS选择器查询和风格化Web元素

如何利用CSS选择器查询和风格化Web元素

论坛链接
  • 如何利用CSS选择器查询和风格化Web元素
  • 发布时间:2007-09-21 17:35:20    浏览数:8196    发布者:tznktg    设置字体【   
本文讨论另一个重要的CSS特征:选择器,它可以用来在一个页面内选择元素风格化Web页。

选择器类型

CSS样式有多种方式实现元素选择。各种各样的选择方法包括通过通用选择器,类型选择器,类选择器,ID选择器,祖先选择器,子孙选择器,邻接兄弟选择器和属性选择器进行选择。

这里我们将分别来看一下这几种方法(邻接兄弟和属性除外,我们将在下周进行讨论)。注意:浏览器对CSS选择器的支持是不一致的,不过你可以利用网上的说明来检测某个选择器是否能在你的目标浏览器使用。

通用

通用选择器允许你在整个页面中使用样式。基本上说来,一个样式并不指定具体的元素,类等,所以它适用于页面内的所有元素。这对设置颜色,字体等来说十分有用。

通用选择器可用于页面上的所有元素,但是他们可以被某些具体的选择器覆盖。CSS规范中指出可以使用星号(*)来表示一个通用选择器。列表A演示了如何使用通用选择器来为页面设定背景和默认的字体。

<html>
<head><title>CSS – Universal selectors</title>
<style type="text/css">
* {font-face: arial; font-size: 110%; color: red; background: yellow;}
</style><body>
<h1>Test Page</h1>
<p>Hey there.</p>
</body></html>类型

风格化元素的一种最常用方法是通过它的类型。也就是说一个特定的元素拥有自己定义的样式,且这个样式可用于该类型的所有元素而不管元素在页面上的位置。列表B中的例子演示了用一个类型选择器来风格化页面中的所有段元素。

<html>
<head><title>CSS – Type selectors</title>
<style type="text/css">
p { margin: 5em; color: red; }
</style><body>
<h1>Test Page</h1>
<p>Hey there.</p>
</body></html>使用这种类型选择器,叶面内的所有段落元素(除非被更多特定选择器覆盖)拥有特定的页边距和红色文本。现在你也可以自己建立CSS类来处理页面上的特定元素风格化问题。
      

在决定一个样式覆盖什么内容时,类选择器比类型选择器有更多的控制。由类选择器定义的样式可以用于具有类属性的所有元素,不管该元素在页面中的位置。它可以很好的控制那些元素接受样式。列表C中的例子演示了使用类只格式化页面中的第一段。所以第一段的是锯齿状的字体,而接下来的段落与此不同。

<html>
<head><title>CSS – Type selectors</title>
<style type="text/css">
.firstp { text-indent: 2em;margin: 1em; color: red; }
p { margin: 1em; color: blue; }
</style><body>
<h1>Test Page</h1>
<p class="firstp">Thanks for visiting.</p>
<p>Hey there.</p>
</body></html>类选择器不能使用HTML 保留的元素如heading,p,h1等等。你还可以通过用空格分开的方法对同一个元素使用多个类。列表D演示了使用多个类来风格化一个特定的段落。

<html>
<head><title>CSS – Class selectors</title>
<style type="text/css">
.fp { text-indent: 2em;margin: 1em; }
.fpf {color: red; font-face: arial; font-size: 16pt;}
p { margin: 1em; color: blue; }
</style><body>
<h1>Test Page</h1>
<p class="fp fpf">Thanks for visiting.</p>
<p>Hey there.</p>
</body></html>你可以将类选择器和类型选择器结合在一起使用,来风格化拥有分配的类的某些元素。在这个场景中,当定义样式时,元素名有一个由空格隔开的类名。列表E中的例子演示了这样的技巧,即仅拥有赋予的特定类名的段元素才风格化为某种方式,而拥有相同类名的头部风格化为另一种形式。我将会在使用元素的ID属性时,更详细的介绍。

<html>
<head><title>CSS – Type selectors</title>
<style type="text/css">p.fp { text-indent: 2em;margin: 1em; color: red; }
h1.fp {color: orange; font-face: arial; font-size:
20pt; font-weight: bold;}
p { margin: 1em; color: blue; }
</style><body>
<h1 class="fp">Test Page</h1>
<p class="fp">Thanks for visiting.</p>
<p>Hey there.</p>
</body></html>ID

类选择器可以让你风格化一组或一类元素,但是你还可以更具体的风格化页面中的元素。页面中的每个元素都有一个ID属性,这个ID在整个页面中是唯一的。ID可用于诸如JavaScript等脚本语言对于元素的操作,它还可以用于样式风格化。

当为一个特定的元素ID定义样式时,需要在样式定义中在ID前面添加数字符和(#)。这样来告诉系统只有拥有该ID的元素才可以应用这个样式。需要注意的是,因为ID号都是唯一的,所以样式可能仅使用一次,如列表F中的例子所示。(在本文的后面,我们将介绍样式也可以通过元素的属性使用)。

<html>
<head><title>CSS – ID selectors</title>
<style type="text/css">p.fp { text-indent: 2em;margin: 1em; color: red; }
#head1 {color: purple; font-face: arial;
font-size: 20pt; font-weight: bold; text-align: center;}
p { margin: 1em; color: blue; }
</style><body>
<h1 id="head1">Test Page</h1>
<p class="fp">Thanks for visiting.</p>
<p>Hey there.</p>
</body></html>在这种情况下,ID作为一个属性可以看到并被风格化,但是ID选择器总是比其它的属性选择器优先。在使用ID选择器风格化页面上的某个特定元素的同时,你还以通过页面内元素的上下文来定位任何风格化的元素。
      祖先

CSS使得通过页面内元素间的关系风格化元素变得很简单。利用祖先选择器,你可以定位文档树之内的元素,它还可以让你选择直接或间接来自另一个元素的子孙元素。

例如,你可能想以某种方式风格化div元素内包含的有序列表。使用祖先选择器,你可以为页面内通过空格分开的元素指定一个路径。列表G中的例子只在粗体元素出现在段落元素之内时,才对它进行风格化。

<html>
<head><title>CSS – Type selectors</title>
<style type="text/css">
p {font-face: arial; font-size: 110%; color: red; background: yellow;}
p b {margin: 0; font-size: 150%; color: black; font-weight: normal; }
</style><body>
<h1>Test Page</h1>
<p>Hey there.</p>
<p>Here <b>are</b> the items.</p>
</body></html>孩子

孩子选择器与祖先选择器关系十分紧密,但是当你寻找的是具有直接祖先或子孙关系的元素时,它们会很明确。孩子选择器通过列出双亲元素来定义,孩子元素通过大于号隔开(>)。Windows IE浏览器5 ,5.5和6都不支持孩子选择器,但是他们被绝大部分符合标准的其它浏览器支持。列表H中的例子模仿前面的例子使用了孩子选择器与祖先选择器作对比。

列表H

<html>
<head><title>CSS 鈥" Type selectors</title>
<style type="text/css">
p {font-face: arial; font-size: 110%; color: red; background: yellow;}
p > b {margin: 0; font-size: 200%; color: black; font-weight: normal; }
</style><body>
<h1>Test Page</h1>
<p>Hey there.</p>
<p><b>are</b> the items.</p>
</body></html>
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理