首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

css选择器 w3c札记

2013-12-26 
css选择器 w3c笔记???8.class 派生选择器:.fancy td {color: #f60background: #666}在上面这个例子中,类

css选择器 w3c笔记

?

?

?

8.class 派生选择器:

.fancy td {

color: #f60;

background: #666;

}

在上面这个例子中,类名为 fancy 的更大的元素内部的表格单元都会以灰色背景显示橙色文字。(名为 fancy 的更大的元素可能是一个表格或者一个 div)

?

?

?

9.元素也可以基于它们的类而被选择:

td.fancy {

color: #f60;

background: #666;

}

在上面的例子中,类名为 fancy 的表格单元将是带有灰色背景的橙色。

<td href="http://w3school.com.cn">W3School</a>

?

?

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

*[title] {color:red;}

亲自试一试

例子 2

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

a[href] {color:red;}

?

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

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

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

?

?

?

?

?

?

11.属性和值选择器

下面的例子为 title="W3School" 的所有元素设置样式:

<img title="W3School" src="/i/w3school_logo_white.gif" />

<br />

<a title="W3School" href="http://w3school.com.cn">W3School</a>

?

?

?

12.属性和值选择器 - 多个值

下面的例子为包含指定值的 title 属性的所有元素设置样式。适用于由空格分隔的属性值:

?

<head>

<style type="text/css">

[title~=hello]

{

color:red;

}?

</style>

</head>

?

<body>

<h1>可以应用样式:</h1>

<h2 title="hello world">Hello world</h2>

<p title="student hello">Hello W3School students!</h1>

<hr />

?

<h1>无法应用样式:</h1>

<h2 title="world">Hello world</h2>

<p title="student">Hello W3School students!</p>

</body>

?

?

下面的例子为带有包含指定值的 lang 属性的所有元素设置样式。适用于由连字符分隔的属性值:

<style type="text/css">

[lang|=en]

{

color:red;

}

</style>

</head>

?

<body>

<h1>可以应用样式:</h1>

<p lang="en">Hello!</p>

<p lang="en-us">Hi!</p>

<hr />

?

<h1>无法应用样式:</h1>

<p lang="us">Hi!</p>

<p lang="zh">Hao!</p>

</body>

?

?

?

13.CSS 元素选择器

最常见的 CSS 选择器是元素选择器。换句话说,文档的元素就是最基本的选择器。

如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p、h1、em、a,甚至可以是 html 本身:

html {color:black;}

h1 {color:blue;}

h2 {color:silver;}

?

?

14. 选择器分组

假设希望 h2 元素和段落都有灰色。为达到这个目的,最容易的做法是使用以下声明:

h2, p {color:gray;}

将 h2 和 p 选择器放在规则左边,然后用逗号分隔,就定义了一个规则。其右边的样式(color:gray;)将应用到这两个选择器所引用的元素。逗号告诉浏览器,规则中包含两个不同的选择器。如果没有这个逗号,那么规则的含义将完全不同。参见后代选择器。

可以将任意多个选择器分组在一起,对此没有任何限制。

例如,如果您想把很多元素显示为灰色,可以使用类似如下的规则:

body, h2, p, table, th, td, pre, strong, em {color:gray;}

?

?

15.通配符选择器

CSS2 引入了一种新的简单选择器 - 通配选择器(universal selector),显示为一个星号(*)。该选择器可以与任何元素匹配,就像是一个通配符。

例如,下面的规则可以使文档中的每个元素都为红色:

* {color:red;}

?

?

16.选择子元素

选择子元素

如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。

例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:

h1 > strong {color:red;}

这个规则会把第一个 h1 下面的两个 strong 元素变为红色,但是第二个 h1 中的 strong 不受影响:

<h1>This is <strong>very</strong> <strong>very</strong> important.</h1>

<h1>This is <em>really <strong>very</strong></em> important.</h1>

?

?

17.选择相邻兄弟

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。

选择相邻兄弟

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px;}

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

?

结合其他选择器

相邻兄弟结合符还可以结合其他结合符:

html > body table + ul {margin-top:20px;}

这个选择器解释为:选择紧接在 table 元素后出现的所有兄弟 ul 元素,该 table 元素包含在一个 body 元素中,body 元素本身是 html 元素的子元素。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

热点排行