`
lilinhai548
  • 浏览: 2672 次
  • 性别: Icon_minigender_1
  • 来自: 四川
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

CSS 属性选择器详解

 
阅读更多

CSS 2 引入了属性选择器。

属性选择器可以根据元素的属性及属性值来选择元素。

简单属性选择

如果希望选择有某个属性的元素,而不论属性值是什么,可以使用简单属性选择器。

例子 1

如果您希望把包含标题(title)的所有元素变为红色,可以写作:

*[title] {color:red;}

亲自试一试

例子 2

与上面类似,可以只对有 href 属性的锚(a 元素)应用样式:

a[href] {color:red;}

亲自试一试

例子 3

还可以根据多个属性进行选择,只需将属性选择器链接在一起即可。

例如,为了将同时有 href 和 title 属性的 HTML 超链接的文本设置为红色,可以这样写:

a[href][title] {color:red;}

亲自试一试

例子 4

可以采用一些创造性的方法使用这个特性。

例如,可以对所有带有 alt 属性的图像应用样式,从而突出显示这些有效的图像:

img[alt] {border: 5px solid red;}

亲自试一试

提示:上面这个特例更适合用来诊断而不是设计,即用来确定图像是否确实有效。

例子 5:为 XML 文档使用属性选择器

属性选择器在 XML 文档中相当有用,因为 XML 语言主张要针对元素和属性的用途指定元素名和属性名。

假设我们为描述太阳系行星设计了一个 XML 文档。如果我们想选择有 moons 属性的所有 planet 元素,使之显示为红色,以便能更关注有 moons 的行星,就可以这样写:

planet[moons] {color:red;}

这会让以下标记片段中的第二个和第三个元素的文本显示为红色,但第一个元素的文本不是红色:

<planet>Venus</planet>
<planet moons="1">Earth</planet>
<planet moons="2">Mars</planet>

查看效果

根据具体属性值选择

除了选择拥有某些属性的元素,还可以进一步缩小选择范围,只选择有特定属性值的元素。

例子 1

例如,假设希望将指向 Web 服务器上某个指定文档的超链接变成红色,可以这样写:

a[href="http://www.w3school.com.cn/about_us.asp"] {color: red;}

亲自试一试

例子 2

与简单属性选择器类似,可以把多个属性-值选择器链接在一起来选择一个文档。

a[href="http://www.w3school.com.cn/"][title="W3School"] {color: red;}

这会把以下标记中的第一个超链接的文本变为红色,但是第二个或第三个链接不受影响:

<a href="http://www.w3school.com.cn/" title="W3School">W3School</a>
<a href="http://www.w3school.com.cn/css/" title="CSS">CSS</a>
<a href="http://www.w3school.com.cn/html/" title="HTML">HTML</a>

亲自试一试

例子 3

同样地,XML 语言也可以利用这种方法来设置样式。

下面我们再回到行星那个例子中。假设只希望选择 moons 属性值为 1 的那些 planet 元素:

planet[moons="1"] {color: red;}

上面的代码会把以下标记中的第二个元素变成红色,但第一个和第三个元素不受影响:

<planet>Venus</planet>
<planet moons="1">Earth</planet>
<planet moons="2">Mars</planet>

查看效果

属性与属性值必须完全匹配

请注意,这种格式要求必须与属性值完全匹配。

如果属性值包含用空格分隔的值列表,匹配就可能出问题。

请考虑一下的标记片段:

<p class="important warning">This paragraph is a very important warning.</p>

如果写成 p[class="important"],那么这个规则不能匹配示例标记。

要根据具体属性值来选择该元素,必须这样写:

p[class="important warning"] {color: red;}

亲自试一试

根据部分属性值选择

如果需要根据属性值中的词列表的某个词进行选择,则需要使用波浪号(~)。

假设您想选择 class 属性中包含 important 的元素,可以用下面这个选择器做到这一点:

p[class~="important"] {color: red;}

亲自试一试

如果忽略了波浪号,则说明需要完成完全值匹配。

部分值属性选择器与点号类名记法的区别

该选择器等价于我们在类选择器中讨论过的点号类名记法。

也就是说,p.important 和 p["important"] 应用到 HTML 文档时是等价的。

那么,为什么还要有 "~=" 属性选择器呢?因为它能用于任何属性,而不只是 class。

例如,可以有一个包含大量图像的文档,其中只有一部分是图片。对此,可以使用一个基于 title 文档的部分属性选择器,只选择这些图片:

img[title~="Figure"] {border: 1px solid gray;}

这个规则会选择 title 文本包含 "Figure" 的所有图像。没有 title 属性或者 title 属性中不包含 "Figure" 的图像都不会匹配。

亲自试一试

子串匹配属性选择器

下面为您介绍一个更高级的选择器模块,它是 CSS2 完成之后发布的,其中包含了更多的部分值属性选择器。按照规范的说法,应该称之为“子串匹配属性选择器”。

很多现代浏览器都支持这些选择器,包括 IE7。

下表是对这些选择器的简单总结:

类型 描述
[abc^="def"] 选择 abc 属性值以 "def" 开头的所有元素
[abc$="def"] 选择 abc 属性值以 "def" 结尾的所有元素
[abc*="def"] 选择 abc 属性值中包含子串 "def" 的所有元素

可以想到,这些选择有很多用途。

举例来说,如果希望对指向 W3School 的所有链接应用样式,不必为所有这些链接指定 class,再根据这个类编写样式,而只需编写以下规则:

a[href*="w3school.com.cn"] {color: red;}

亲自试一试

提示:任何属性都可以使用这些选择器。

特定属性选择类型

最后为您介绍特定属性选择器。请看下面的例子:

*[lang|="en"] {color: red;}

上面这个规则会选择 lang 属性等于 en 或以 en- 开头的所有元素。因此,以下示例标记中的前三个元素将被选中,而不会选择后两个元素:

<p lang="en">Hello!</p>
<p lang="en-us">Greetings!</p>
<p lang="en-au">G'day!</p>
<p lang="fr">Bonjour!</p>
<p lang="cy-en">Jrooana!</p>

亲自试一试

一般来说,[att|="val"] 可以用于任何属性及其值。

假设一个 HTML 文档中有一系列图片,其中每个图片的文件名都形如 figure-1.jpgfigure-2.jpg。就可以使用以下选择器匹配所有这些图像:

img[src|="figure"] {border: 1px solid gray;}

亲自试一试

当然,这种属性选择器最常见的用途还是匹配语言值。

CSS 选择器参考手册

选择器 描述
[attribute] 用于选取带有指定属性的元素。
[attribute=value] 用于选取带有指定属性和值的元素。
[attribute~=value] 用于选取属性值中包含指定词汇的元素。
[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
[attribute^=value] 匹配属性值以指定值开头的每个元素。
[attribute$=value] 匹配属性值以指定值结尾的每个元素。
[attribute*=value] 匹配属性值中包含指定值的每个元素。
分享到:
评论

相关推荐

    CSS属性选择器详解.pdf

    CSS属性选择器详解 CSS中的属性选择器是一种强大的选择器,允许开发者根据HTML元素的属性值来选择元素。今天,我们将深入探讨CSS属性选择器的详细解释。 什么是CSS属性选择器? --------------------- CSS属性...

    CSS层叠样式表技术参考手册

    - **属性选择器详解**:介绍如何根据元素的属性值选择目标元素。 - **示例分析**:通过实例代码展示属性选择器的具体用法。 - **5.6 CSS后代选择器** - **后代选择器**:解释如何选择特定元素的后代元素。 - **...

    十种CSS选择器详解介绍

    ### 十种CSS选择器详解介绍 #### 一、通用选择器 - **定义**: 通用选择器使用星号 `*` 来表示,能够匹配HTML文档中的每一个元素。 - **示例**: ```css * { margin: 0; padding: 0; } ``` - **用途**: 常用于...

    前端开发中CSS的选择器、属性及其HTML四种结合方式详解

    内容概要:本文详细介绍了层叠样式表(CSS)的基础概念和重要应用方法,特别聚焦于CSS与HTML的四种结合方式、CSS选择器的分类和特性以及各种常见的CSS属性(包括字体、文本对齐等)。文中对比分析了每种方式的优势、...

    详解CSS选择器HTML标签

    本文将深入探讨CSS选择器的几个主要类型,包括HTML标签选择器、类别(Class)选择器、专用ID选择器、选择器组合筛选、选择器集体声明、选择器的嵌套、子选择器以及属性选择器。 1. **HTML标签选择器**:这是一种最...

    CSS选择器 CSS 选择器 CSS3

    ### CSS选择器与优先级详解 #### CSS选择器概述 CSS选择器是用于定义样式规则应用于HTML文档中哪些元素的基本工具。随着CSS的发展,从CSS1到CSS3,选择器的功能变得越来越强大,允许开发者更加精确地控制网页的...

    css、html属性方法等详解手册

    **CSS选择器** 深入学习CSS,必须掌握各种选择器的用法,例如后代选择器(`div p`)、子元素选择器(`div &gt; p`)、属性选择器(`[type="text"]`)和伪类(`:hover`、`:active`、`:focus`)。这些选择器能帮助精确地...

    python爬虫之css选择器

    ### Python爬虫之CSS选择器详解 #### 一、引言 在进行Web爬虫开发时,高效地从HTML文档中提取所需数据是一项基本而重要的技能。Python作为一门功能强大的编程语言,在网络爬虫领域有着广泛的应用。CSS选择器作为一...

    css的选择器

    ### CSS 选择器详解 #### 一、概述 CSS(层叠样式表)是一种用于描述网页文档结构化标记语言(如HTML或XML)外观和格式的语言。通过使用CSS选择器,我们可以精确地定位到HTML文档中的元素,并为其应用样式规则。...

    css选择器的应用

    #### CSS选择器详解 ##### 通用选择器 通用选择器使用星号`*`表示,它可以匹配任何类型的元素。例如: ``` * { color: #000; } ``` 此示例将页面中所有元素的文字颜色设置为黑色。 ##### 标签选择器 标签选择器...

    CSS选择器.txt

    ### CSS选择器详解 在网页开发中,CSS(层叠样式表)被广泛应用于控制HTML文档的布局与外观。为了精确地对元素进行样式化,CSS提供了多种选择器,它们可以单独使用或组合使用,以满足不同的选择需求。本文将详细...

    JQ 属性选择器

    **jQuery 属性选择器详解** 在前端开发中,jQuery 是一个强大的 JavaScript 库,它极大地简化了 DOM 操作,其中包括选择元素。属性选择器是 jQuery 提供的一种高级选择器,用于根据元素的属性及其值来定位和操作...

    CSS的选择器内容文档

    #### CSS选择器的重点内容详解 **CSS(Cascading Style Sheets)**,即层叠样式表,是一种用来表现HTML或XML等文件样式的计算机语言。CSS选择器则是用于匹配HTML文档中的元素和它们的属性。通过选择器,我们可以为...

    30个最常用css选择器解析

    "CSS选择器详解" CSS选择器是CSS样式语言中最基本的组成部分,它们定义了样式应用于哪些HTML元素。选择器分为五种基本类型:标签选择器、class选择器、ID选择器、后代选择器和伪类选择器。 1. 星状选择符(*) 星...

    选择器(css3/css2)

    ### CSS3 选择器详解 #### 一、概述 随着 Web 技术的不断发展,CSS3 带来了更为强大的选择器功能,极大地提升了网页设计的灵活性与效率。本篇文章将深入探讨 CSS3 选择器中的重要成员——`:nth` 选择器系列,并...

    CSS选择器和jQuery选择器

    ### CSS选择器与jQuery选择器详解 #### 一、引言 在现代Web开发中,选择器扮演着至关重要的角色。无论是对HTML元素应用样式还是对其进行动态操作,选择器都是必不可少的工具。本文将深入探讨两种常用的选择器——...

    详解CSS3中属性选择器新增加的特性

    这些选择器可以根据实际需要灵活运用,大大增强了CSS选择元素的能力。开发者可以根据需求编写更简洁、更有针对性的CSS规则,对HTML文档中的元素进行精确的样式设置。另外,这些属性选择器对于现代Web设计中的一些...

    selenium css selector 定位详解

    而CSS选择器(CSS Selector)是Selenium进行页面元素定位的一种非常重要的方式。本文将详细介绍如何使用Selenium配合CSS选择器来进行页面元素的精准定位。 #### 二、CSS选择器简介 CSS选择器是用于匹配文档中的...

    Jquery css选择器

    ### Jquery CSS选择器详解 #### 一、引言 在网页开发中,CSS选择器是一种强大的工具,用于选择HTML文档中的元素,并应用于样式规则。本文将深入探讨Jquery CSS选择器的重要特性,特别是属性选择器、子选择器以及...

    CSS布局 案例详解

    避免使用过于复杂的布局,减少重绘和回流,使用适当的选择器,合理使用CSS动画,这些都可以提升页面加载速度和用户体验。 总结,CSS布局是构建网页的核心技能,掌握上述知识点能让你更好地驾驭网页设计,实现各种...

Global site tag (gtag.js) - Google Analytics