XML入门:CSS样式表
5)邻近选择符,当两个元素位于同一层且在位置是前后关系时,可以使用邻近选择符。两个选择符用"+"号分开,如果A位于B之前,则B可应用样式。如:
<style>
div + p {color: red;}
</style>
<div>没有应用样式</div>
<p>应用红色样式。</p>
6)属性选择符,HTML标记有属性,我们可为特定的属性指定样式。有四种写法,分别是:
[属性],样式只应用于指定的属性。
[属性=值],样式只应用于指定的属性与值都相同的情况
[属性~=值],样式只应用于指定的属性且属性值包含指定值的情况,属性值是用空格分隔的字符串。
[属性|=值],样式只应用于指定的属性且属性值是的第一个字符串是指定值的情况,属性值是用"-"分隔的字符串。
<style>
[href] {color: red;}
A[href="http://www.ringkee.com"] {color: green;}
table[summary~="table"] {color: black;}
table[summary|="this-is-a-table"] {color: blue;}
</style>
<a href="http://www.python.org">应用红色样式</a>
<a href="http://www.ringkee.com">应用绿色样式</a>
<table summary~="This is a table>
<tr>
<td>应用黑色样式</td>
</tr>
</table>
<table summary|="This-is-a-table>
<tr>
<td>应用蓝色样式</td>
</tr>
</table>
7)类选择符,与属性选择符类似,但它只指对class属性应用样式。类选择符用"."语法,如.value与[class~=value]是一样的。
<style>
.myid {color: red;}
</style>
<div>应用红色样式</div>
8)ID选择符,与属性选择符类似,但它只指对ID属性,用"#"语法。
<style>
#myid {color: red;}
</style>
<div id="myid">应用红色样式</div>
9):first-child伪类,当标记是另一个标记的第一个子标记时,应用样式。
<style>
p:first-child {color: red;}
</style>
<p>p是body的第一个子标记,应用红色样式</p>
<div>测试</div>
<p>p标记是body的第三个子标记,不应用红色样式</p>
10):link和:visited伪类只作用于a标记,在指定href属性的前提下,:link表示a标记还没被点击时的样式,:visited表示被当点后的样式。
<style>
a:link {color: blue;}
a:visited {color: red;}
</style>
<a href="http://www.ringkee.com">链接没点击前是蓝色的,点击后是红色的</a>
11):hover,:active和:fouce伪类也只能作用于a标记,且也要指定href属性。:hover指定当用户把鼠标移到a标记上并且指针变成手型时应用的样式。:active指定点击a链接并放开鼠标时所显示的样式。:fouce指定用户点击a标记瞬间,即链接成为焦点时所显示的样式。:hover要放在:link和:visited之后,否则:hover的样式会覆盖:link和:visited的样式。
<style>
a:link {color: blue;}
a:visited {color: red;}
a:haover {color: green;}
a:focus {color: black;}
a:active {color: white;}
</style>
<a href="http://www.ringkee.com">应用样式</a>
12):left及:right伪类只作用于页面内容。当页面在左边时应用:left指定的样式,当页面在右边时应用:right指定的样式。
13):first-line只对div和p标记不效,样式只应用于这两个标记内的第一行内容。
<style>
:first-line {color: red;}
</style>
<div width:50px;>
该元素内的第一行内容应用红色样式。
</div>
14):first-letter伪类也只能作用于div和p标记,与:first-line不同的是它只作用于标记内的第一个字符。如果我们想要每一行的开头字符大一点就可使用该伪类。
<style>
:first-letter {font-size: 40pt;}
</style>
<p>这行文字开头第一个字符的大小是40pt</p>
15):before和:after伪类可在内容的前面或后面增加特定的内容或指定样式。
<style>
p:before {content: "("; color: red;}
p:after {content: ")"; color: green;}
</style>
<p>这行文字前后会增加一对括号,前括号为红色</p>
<p>这行文字前后会增加一对括号,后括号为绿色</p>
16)层叠选择符是指当有多个选择符的样式都应用于同一个标记时的选择规则。该规则利用一个三位数来确定,数字最大的就可选中。这三位数的确定规则的这样的,如果选择符中有ID选择符,则百位数加1,否则为0。如果有属性选择符、类选择符或伪类选择符,则十位数加1,否则为0。如果有类型选择符,则个位数加1,否则为0。如果选择符是#div div,这三位数则是101。让我们分析一下,#div是ID选择符,所以在百位数上加1,div是类型选择符,所以个位数上加1变成101。"*"表示0,优先级最低。
样式表的主要功能是指定同一个文件在不同媒体上按不同的样式显示。通过三种方式可指定不同媒体
1)@media方式
<style>
@media screen {div{color:red;}}
@media print {div{color:green;}}
</style>
<div>不同媒体显示不同颜色</div>
2)@import是另一种指定不同媒体的方式,它可引入外部的css文档。它的语法格式是:
<style>
@import url("simple.css") screen;
</style>
3)在HTML4.0中,可以用LINK标记的media属性为不同媒体类型指定样式表。
<LINK rel="stylesheet" href="import.css" type="text/css" media="print">
!important规则会改变应用样式的优先级,有!important参数样式的优先级最高,会优先显示。
<style>
h1 {color:red;}
h1 {color:green !important;}
</style>
<h1>字体为绿色</h1>


欢迎留言