通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁。
在 CSS1 中,通过这种方式来应用规则的选择器被称为上下文选择器 (contextual selectors),这是由于它们依赖于上下文关系来应用或者避免某项规则。在 CSS2 中,它们称为派生选择器,但是无论你如何称呼它们,它们的作用都是相同的。
派生选择器允许你根据文档的上下文关系来确定某个标签的样式。通过合理地使用派生选择器,我们可以使 HTML 代码变得更加整洁。
比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:
li strong { font-style: italicfont-weight: normal}请注意标记为 <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>
派生选择器:通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁。
派生选择器允许你根据文档的上下文关系来确定某个标签的样式。通过合理地使用派生选择器,我们可以使 HTML 代码变得更加整洁。
比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:
li strong {font-style: italic
font-weight: normal
}
请注意标记为 <strong>的代码上下文关系:
<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p><ol>
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li>
</ol>
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
id 选择器以 "#" 来定义。
下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:
#red {color:red}#green {color:green}
下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。
<p id="red">这个段落是红色。</p><p id="green">这个段落是绿色。</p>
注意:id 属性只能在每个 HTML 文档中出现一次。
在 CSS 中,类选择器以一个点号显示:
.center {text-align: center}
在上面的例子中,所有拥有 center 类的 HTML 元素均为居中。
在下面的 HTML 代码中,h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择器中的规则。
<h1 class="center">This heading will be center-aligned
</h1>
<p class="center">
This paragraph will also be center-aligned.
</p>
注意:类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用。
1、基本样式 的写法<style type="text/css">
h1{
font-family:黑体
}
</style>
直接些标签名进行定义属性,这个也比较常见。但是它的定义通常放在<style>标签中声明。
2、类class链接样式
定义也通常在<style>标签中声明
<style type="text/css">
.style1{
color:red
font-size:16px
}
</style>
引用时候直接在标签的属性中使用class="style1" 记住是class属性
<h1></h1>
3、id链接样式
<style type="text/css">
#style1{
color:blue
font-size:16px
}
</style>
引用的时候就用标签属性中的id属性 ,要区别于类属性
<h1 id="style1"></h1>
区别:类class链接样式和id链接样式
类连接样式可以适用于多个对象设置同样的属性中,
而id链接样式只能用于一个对象标签中,其他标签则会失效
4、html选择器:
直接用标签进行声明,跟上面的第一个一样
2)派生选择器:
<style type="text/css">
h1 h2{
color:red
font-size:1em
font-family:黑体
}
</style>
h1 h2的写法意思是代表着该css样式只能之<h1><h2> </h2></h1>同时出现,且是嵌套使用的时候才能生效
3)id选择器
id选择器的作用是通过id选择器将css样式作用到页面的对象上。写法:
<style type="text/css">
#text p{
font-size:1em
}
</style>
将该样式绑定到html上,就要这样写
<h1 id=#"text">这个是不要p的写法
要p的写法
表明该对象只能作用在text对象上的所有p标签中
4)class选择器
<style type="text/css">
.fancy{
color:red
background:#666
}
</style>
使用的时候也是
<h1></h1>
也可以像上面的一样用派生选择器
<style type="text/css">
.fancy td{
color:red
background:#666
}
</style>
说明生效只能在td中
5)分组选择器
h1{color:bule}
#text{color:bule}
.play{color:bule}
这种写法太繁琐了
我们可以使用
h1,#text,.paly{
color:bule}
这样来定义
6)伪类和伪类选择器
用关键字:lang来定义
<html>
<head>
<style type="text/css">
q:lang(smile){
quotes:"∞"
}
</style>
</head>
<body>
好吧,展示一下
<p>请看<q>祝你愉快</q></p>
</body>
</html>