CSS 选择符【总结】
(1) div{...}
(2) .myStyle1{...} , 对应HTML引用:< p class=myStyle1>欢迎使用ASP.NET2.0技术< /p >
(3) #myStyle2{...} , 对应HTML引用:< span id=myStyle2>ASP.NET2.0引入了许多新的技术</span>
<head>
<title>CSS样式技术</title>
<style>
<!--
div{width:500; background-color:lightblue;}
.myStyle1{color:red;font-variant:small-caps;text-decoration:underline}
#myStyle2{color:mediumseagreen;text-shadow:red}
-->
</style>
</head>
<body style="font-size:12px">
<p style="font-size:20;font-style:bold; color:red;">ASP.NET2.0 新技术详解与应用实例</p>
<p class=myStyle1>欢迎使用ASP.NET2.0技术</p>
<span id=myStyle2>ASP.NET2.0引入了许多新的技术,本书将详细介绍这些技术</span>
<BR>
<button style="font: 8pt verdana;background-color:lightgreen;border-color:black;width:100" runat="server">按钮</button>
<div>
<p>
请输入一些文本:
<input type="text" value="ASP.NET2.0技术" style="font: 14pt verdana;background-color:yellow;border-style:dashed;border-color:red;width:300;" runat="server"/>
<p>
选择一个目录:
<select style="font: 14pt verdana;background-color:lightblue;color:purple;" runat="server">
<option>ASP.NET基础教程</option>
<option>ASP.NET数据库技术</option>
<option>ASP.NET安全与性能</option>
</select>
<p>
选择您最喜欢的计算机语言:<BR>
<span style="font: 16 pt verdana;font-weight:300">
<input type="radio" name="Mode" checked style="width:50;background-color:lightsalmon
;zoom:120%" runat="server"/>C#.NET语言<br>
<input type="radio" name="Mode" style="width:50;background-color:lightsalmon
;zoom:120%" runat="server"/>VB.NET语言<br>
<input type="radio" name="Mode" style="width:50;background-color:lightsalmon
;zoom:120%" runat="server"/>J#.NET语言
</span>
</body>
</html>
又一个例子:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>CSS 选择符示例 -- CSS教程</title>
<style type="text/css" media="all">
p
{
font-size:12px;
}
.dreamdublue
{
color:blue;
}
.dreamdu18px
{
font-size:18px;
}
#dreamdured
{
color:red;
}
</style>
</head>
<body>
<p>梦之都 <a href="http://www.dreamdu.com/css/">CSS教程</a>,<strong><a href="http://www.dreamdu.com/css/selector_novice/">选择符</a></strong>示例</p>
<p>梦之都xhtml<strong>标签选择符示例</strong></p>
<p id="dreamdured">梦之都<strong>id选择符示例</strong></p>
<p class="dreamdublue dreamdu18px">梦之都<strong>class选择符示例</strong>,注意class的用法,请查看源代码.</p>
<p class="dreamdublue dreamdu18px">梦之都<strong>class选择符示例2</strong>,class选择符出现了多次.</p>
</body>
</html>
A:link {
COLOR: #4a4a4a; FONT-FAMILY: Verdana,宋体; FONT-SIZE: 12px; TEXT-DECORATION: none
}
A:visited {
COLOR: #4a4a4a; FONT-SIZE: 12px; TEXT-DECORATION: none
}
A:hover {
COLOR: #005BE4; FONT-SIZE: 12px; TEXT-DECORATION: none
}
A:active {
COLOR: #cc0000; FONT-SIZE: 12px; TEXT-DECORATION: none
}
.style1 { text-decoration: underline overline line-through blink}
.NoneInput
{
text-align:center;
border-top-style: none;
border-right-style: none;
border-left-style: none;
background-color: #f6f6f6;
border-bottom-style: none;
}
.style2 { border: solid; border-width: thin 0px 0px medium; border-color: blue red black green}
</STYLE>
<table border=1>
<tr>
<td align=center>定义链接各状态颜色:</td>
<td><a href="#" >链接一</a></td>
</tr>
<tr>
<td align=center>用CSS定义文字下划线:</td>
<td><P class="style1">ssssssssssssss</p></td>
</tr>
<tr>
<td align=center>没有边框的input:</td>
<td><input name="sss" type=text class="NoneInput"></td>
</tr>
<tr>
<td align=center>给部分内容加边框:</td>
<td><table class="style2"><tr><td>ssssss</td></tr></table></td>
</tr>
<tr>
<td valign=middle>alpha滤镜效果:原图:<image src=1.jpg > </td>
<td>处理后图: <image src=1.jpg style=" filter:alpha(opacity=100,style=2)"></td>
</tr>
<tr>
<td valign=middle>Blur滤镜效果:原图:<image src=1.jpg ></td>
<td>处理后图:<image src=1.jpg style=" filter: Blur(Strength=800)"></td>
</tr>
<tr>
<td valign=middle>FlipH滤镜效果:原图:<image src=1.jpg ></td>
<td>处理后图:<image src=1.jpg style=" filter: FlipH"></td>
</tr>
下面是一些选择符应用的写法:
(1)P{font-family:"sans serif"} //如果属性的值由多个单词组成,则必须加引号
(2)P{text-align:left;color:green} //如果是多个属性,则用分号
(3)div , table {font-size:8} // 等同分开写:div {font-size:8} table {font-size:8}
(4)table.line1{border-bottom:#4a4a4a 0px solid;border-collapse:collapse}
table.line2{border-bottom:#5a56a3 0px solid;border-collapse:collapse}
HTML引用: <table class="line1"><tr><td>TEST</td></tr></table>
<table class="line2"><tr><td>TEST</td></tr></table>
(5).fontclass{font-size:8}
(6)#top {backround-color:#ccc}
#top h1{backround-color:#cac}
#top p{backround-color:#c2c}
HTML引用:<div id="top">
<h1>...........</h1>
<p>.............</p>
</div>
一、类型选择符
什么是类型选择符?指以网页中已有的标签类型作为名称的行径符。body是网页中的一个标签类型,div,p,span都是。
如下:
- body {}
- div {}
- p {}
- span {}
二、群组选择符
对于XHMTL对象,可以对一组同时进行了相同的样式指派。
使用逗号对选择符进行了分隔,这样书写的优点在于同样的样式只需要书写一次即可,减少代码量,改善CSS代码结构。
使用时应该注意”逗号”是在半角模式下,并非中文全角模式。
如下:
- h1,h2,h6,p,span
- {
- font-size:12px;
- color:#FF0000;
- font-family: arial;
- }
三、包含选择符
对某对象中的子对象进行样式指点定,这样选择方式就发挥了作用。
需要注意的是,仅对此对象的子对象标签有效,对于其它单独存在或位于此对象以外的子对象,不应用此样式设置。
这样做的优点在于,帮我们避免过多的id、class设置,直接对所需的元素进行定义。
如下:
- h2 span
- {
- color:red;
- }
如下:
- body h1 span strong
- {
- font-weight:bold;
- }
四、id选择符
根据DOM文档对象模型原理所出现的选择符,对于一个XHTML文件,其中的每一个标签都可以使用一个id=”"的形式进行一个名称指派,但需要注意,在一个XHTML文件中id是具有唯一性而不可以重复的。
在div css布局的网页中,可以针对不同的用途进行命名,如头部为header、底部为footer。
XHTML如下:
- <div id="content"></div>
CSS如下:
- #content
- {
- font-size:14px;
- line-height:120%;
- }
五、class选择符
其实id是对于XHTML标签的扩展,而class是对SHTML多个标签的一种组合,class直译的意思是类或类别。
对于XHTML标签使用class=”"进行名称指派。与id不同,class可以重复使用,对于多个样式相同的元素,可以直接定义为一个class。
使用class的优点已不言自明,它对CSS代码重用性有良好的体现,众多的标签均可以使用一个样式来定义而不需要每一个编写一个样式代码。
XHTML如下:
- <p class="he"></p>
- <span class="he"></span>
- <h5 class="he"></h5>
CSS如下:
- .he
- {
- margin:10px;
- background-color:red;
- }
六、标签指定式的选择符
如果想同时使用id和class,也想同时使用标签选择符,可以使用如下的方式:
- h1#content {}
- /*表示所有id为content的h1标签*/
- h1.p1 {}
- /*表示所有class为p1的h1标签*/
标签指定式选择符的精度介于标签选择符及id/class选择符之间,是常用的选择符之一。
七、组合选择符
对于上面的所有选择符而言,进行组合使用。如下:
- h1 .p1 {}
- /*表示h1下的所有class为p1的标签*/
- #content h1 {}
- 表示id为content的标签下的所有h1标签
- h1 .p1,#content h1 {}
- /*表示h1下的所有class为p1的标签以及id为content的标签下的所有h1标签*/
- h1#content h2{}
- /*id为content的h1标签下的h2标签*/
CSS选择符是非常自由与灵活的,可以根据页面的需要,使用各种选择符,尽量结构化与优化CSS文件.
############################################################
一.选择符模式
模式/含义/内容描述
*
E
E F
匹配元素 E 的任意后代元素 F 。(后代选择器)
E > F
匹配元素 E 的任意子元素 F 。(子选择器)
E:first-child
E:link E:visited
E:active E:hover E:focus
在确定的用户动作中匹配 E 。(动态伪类)
E:lang(c)
E + F
如果一个元素 E 直接在元素 F 之前,则匹配元素 F 。(临近选择器)
E[foo]
E[foo="warning"]
匹配其“foo”属性值严格等于“warning”的任意元素 E 。(属性选择器)
E[foo~="warning"]
匹配其“foo”属性值为空格分隔的值列表,并且其中一个严格等于“warning”的任意元素 E 。(属性选择器)
E[lang|="en"]
匹配其“lang”属性具有以“en”开头(从左边)的值的列表的任意元素 E 。(属性选择器)
DIV.warning
仅 HTML。用法同 DIV[class~="warning"]。(类选择器)
E#myid
匹配 ID 等于“myid”的任意元素 E 。(ID 选择器)
我们用下面的例子来解释“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相邻[/s]”这几个概念。
<div title="这是一个div">
<h1>这是是h1的内容</h1>
<p>这是一个段落p的内容!<strong>这里是strong的内容</strong>这是一个段落p的内容!</p>
</div>
从以上代码中,我们可以找出这样的关系:
h1 和 p 同为 div 的“儿子”,两者分别同 div 形成“父/子”关系。
h1,p,strong 都是 div 的“子元素”。(三者都包含在 div 之内)
div 是 h1 和 p 的“父元素”。
strong 和 p 形成“父/子”关系,strong 的“父元素”是 p 。
但 strong 和 div 并非“父/子”关系,而是“祖孙”关系,但 strong 依然是 div 的“子(孙)元素”。
div 是 h1 p strong 三者的“祖先”,三者是 div 的“子(孙)元素”。
h1 和 p 两者是相邻的。
继承上面的实例来具体演示一下E F的关系:假如,我们需要将 strong 内的内容二字变为绿色,我们可以有哪些方法呢?
div strong {color:green;} /* - 正确。strong 是 div 的“子元素”*/
p > strong {color:green;} /* - 正确。strong 和 p 是“父/子”关系*/
div > strong {color:green;} /* - 错误!strong 虽然是 div 的“子(孙)元素”,但两者乃是“祖孙”关系,而非“父/子”关系,因此不能用 > 符号连接*/
临近选择器和通用选择器:通用选择器以星号“*”表示,可以用于替代任何 tag 。
实例:
h2 + * { color:green }/*所有紧随 h2 的元素内的文字都将呈现红色*/
二.选择符分类介绍
1.通配选择符
语法:
* { sRules }
说明:
假如通配选择符不是单一选择符中的唯一组成,“*”可以省略。
示例:
*[lang=fr] { font-size:14px; width:120px; }
*.div { text-decoration:none; }
2.类型选择符
语法:
E { sRules }
说明:
示例:
td { font-size:14px; width:120px; }
a { text-decoration:none; }
3.属性选择符
语法:
E [ attr ] { sRules }
E [ attr = value ] { sRules }
E [ attr ~= value ] { sRules }
E [ attr |= value ] { sRules }
说明:
属性选择符。
示例:
h[title] { color: blue; }
span[class=demo] { color: red; }
div[speed="fast"][dorun="no"] { color: red; }
a[rel~="copyright"] { color:black; }
4.包含选择符
语法:
E1 E2 { sRules }
说明:
包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。
示例:
table td { font-size:14px; }
div.sub a { font-size:14px; }
5.子对象选择符
语法:
E1 > E2 { sRules }
说明:
子对象选择符。选择所有作为 E1 子对象的 E2 。
示例:
[Copy to clipboard] [ - ]CODE:
body > p { font-size:14px; }
/* 所有作为body的子对象的p对象字体尺寸为14px */
div ul>li p { font-size:14px; }
6.ID选择符
语法:
#ID { sRules }
说明:
ID选择符。以文档目录树(DOM)中作为对象的唯一标识符的 ID 作为选择符。
示例:
#note { font-size:14px; width:120px;}
7.类选择符
语法:
E.className { sRules }
说明:
类选择符。在HTML中可以使用此种选择符。其效果等同于E [ class ~= className ] 。请参阅属性选择符( Attribute Selectors )。
在IE5+,可以为对象的 class 属性(特性)指定多于一个值( className ),其方法是指定用空格隔开的一组样式表的类名。例如:<div class="class1 class2">。
示例:
div.note { font-size:14px; }
/* 所有class属性值等于(包含)"note"的div对象字体尺寸为14px */
.dream { font-size:14px; }
/* 所有class属性值等于(包含)"note"的对象字体尺寸为14px */
8.选择符分组
语法:
E1 , E2 , E3 { sRules }
说明:
选择符分组。将同样的定义应用于多个选择符,可以将选择符以逗号分隔的方式并为组。
示例:
.td1,div a,body { font-size:14px; }
td,div,a { font-size:14px; }
9.伪类及伪对象选择符
语法:
E : Pseudo-Classes { sRules }
E : Pseudo-Elements { sRules }
说明:
伪类及伪对象选择符。
伪类选择符。请参阅伪类( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。
伪对象选择符。请参阅伪对象( Pseudo-Elements )[:first-letter :first-line :before :after]。
示例:
div:first-letter { font-size:14px; }
a.fly :hover { font-size:14px; color:red; }