一、 类型,类和ID选择符
这个比较简单就不多说
二、定位和群组选择符
群组选择符:body,div,h1{} 作用于一组元素
后代选择符:div #mydiv {} 作用于某一环境下的元素
子选择符:#mydiv >*{} 作用于mydiv下所有直接子元素
兄弟子元素(单一):li+li 作用于li元素后的一个兄弟li元素
兄弟子元素(所有):li~li 作用于li元素后的所有li元素
第一个节点:li:firstchild 作用于兄弟节点中的第一个子元素
兼容性:只有群组选择和后代选择符 IE6支持, 所有其他选择器在IE7 其他主流浏览器中支持
< head >
< title > 无标题页 </ title >
< style type = " text/css " >
p
{
border: solid 1px;
}
.class1
{
padding: 5px;
}
.class2
{
letter - spacing: 10px;
}
#myp
{
background - color: Silver;
}
p, ol, li
{
border: 1px solid red;
padding - left: 10px;
font - family: Monospace;
margin: 10px;
margin - left: 0px;
}
ol
{
margin - left: 0px;
padding - left: 40px;
margin - top: 20px;
}
div * .my - class
{
font - size: 1 .2em;
font - weight: bold;
}
#my - id p
{
background - color: red;
}
#my - id
{
border: 3px solid Blue ;
}
#my - id >*
{
border: 3px solid black ;
}
li + li
{
font - style: italic;
color: Blue;
}
h1 + div
{
color:Green;
}
</ style >
</ head >
< body >
< h1 >
类型,类和ID选择器 </ h1 >
< p >
类型 </ p >
< p class = " class1 " >
一个类增加了内边距 </ p >
< p class = " class1 class2 " >
两个类增加了字间距 </ p >
< p id = " myp " >
id选择符背景color </ p >
< h1 >
地位和群组选择器 </ h1 >
< p >
p.my - class </ p >
< div id = " my-id " >
<!-- 123 -->
< ol >
< li > div ol li </ li >
< li > div ol li </ li >
< li >
< p class = " my-class " >
div ol li </ p >
</ li >
< li > 888 </ li >
</ ol >
< div > 123 </ div >
</ div >
< h1 > 兄 </ h1 >
< div > 弟 </ div >
< div > 二弟 </ div >
</ body >
</ html >
二、属性选择器
selectior[属性] 作用:只要含有此属性都可以使用
selectior[属性=值] 作用:有此属性并且要等于此值
兼容性:IE6支持不支持, 其他浏览器支持良好
< head >
< title > 无标题页 </ title >
< style type = " text/css " >
code{ white - space:pre}
p[title]{ background - color:red}
p[title = ' Third paragraph ' ]{ background - color:Blue}
</ style >
</ head >
< body >
< h1 > 属性选择符 </ h1 >
< p > 这段话没有附加 < code > title </ code > 属性。 </ p >
< p title = " Second " >
< code > p[title ~= "" ] </ code >
</ p >
< p title = " Third paragraph " >
这个是third paragraph
</ p >
< p title = " #4 paragraph " >
这个是 # 4 paragraph
</ p >
</ body >
</ html >
三、伪类
element:first-letter{}
.class:first-letter{}
#id:first-letter{}
element:first-line{}
.class:first-line{}
#id:first-line{}
注:此伪类只对终端块状元素搭配,它们对内联元素或终端化元素不起作用 div 是属于终端块状元素
兼容性:IE6 不支持, IE7后来修改了这个BUG
< head >
< title > 无标题页 </ title >
< style type = " text/css " >
p:first - letter
{
color:Red;
}
div:first - letter
{
color:Red;
}
span:first - letter
{
color:Red;
}
</ style >
</ head >
< body >
< p > 我是 </ p >
< div > 我是 </ div >
< span > 我是 </ span >
</ body >
</ html >
四、伪类选择符
a:link 未被浏览过的超链接
a:visited 已经被浏览过的超链接
a:hover 鼠标悬停在上面
a:fouce 在非IE上获取到焦点 (无效)
a:active 在IE上获取到焦点 (个人测试结果 可用)
兼容性:IE6只支持 a:hover 其他浏览器支持良好
五、子类选择符
.class{} 父类
.class.subclass{} 子类 子类会继承下所有父类的属性
应用: <p class="父类 子类">矩形</p>
个人体会: 除了比较符合面向对象的思想但,其余没什么分别 (个人不推荐)