功能:
在css中,需要根据类名、对象ID、元素名进行定位的情况下,可以使用派生选择器进行定位!
语言基础总结:
1. 在需要指定元素或对象ID或类属性名的情况下,写法是元素在前,对象ID或类元素名在后,
2. 在须同时指定类名和ID名的情况下,两者不分先后,但元素名在前
3. 中间的空格表示后代元素
例子:
/*作为 h1 元素后代的任何 em 元素,不管中间是否还有其它元素隔开*/
h1 em {color:red;}
以下html起作用:
<h1>dfadf<em> test </em></h1>
<h1>dfadf<span>dfdf<em> test </em>dfd</span></h1>
说明,如果只想直接在h1下面的em起作用,则应用使用子元素选择器 “>"
则css写法为:
h1 > em {color:red;}
/*div 元素,并class为sidebar,*/
div.sidebar {background:gray;}
以下html起作用:
<div class="sidebar"> 说明元素和类名的使用
</div>
div.sidebar span {color:red;}
以下html起作用
<div id="obj1"> 说明元素和对象ID的使用
<span class=" STYLE2"><em>eddd</em>eddd</span></div>
/*div 元素,并class为sidebar,*/
div#obj1 {background:blue;}
以下html起作用
<div id="obj1"> 说明元素和对象ID的使用
<span class=" STYLE2"><em>eddd</em>eddd</span></div>
/* 类名和对象名混合用,对象为obj2的div 下面的具有child属性的span*/
div#obj2 span.child1{
background:#996600;
}
以下html起作用
<div id="obj2"> 说明元素和类名和对象ID共同使用
<span >这个span不起作用</span>
<span class="child1 ">这个span起作用</span>
</div>
/*对象ID为obj3并且类名为obj3c的div,对象名和类名前后顺序均可,但元素名div一定是前面*/
div.obj3c#obj3{
background:#996699;
}
以下html起作用
<div id="obj3" class="obj3c"> 区别1 含类名,这个起作用
</div>
<div id="obj3"> 区别2 不含类名,这个不起作用
</div>
除了以上选择器,还有
/*属性选择器*/
/*对具有alt属性的img元素进行设置*/
img[alt] {border: 5px solid red;}
a[href] {color:red;}
/*兄弟选择器:即具有同样的父元素,紧跟其后的元素称为兄弟,使用“+“号表示*/
/* 对li后面的li 粗体显示*/
li + li {font-weight:bold;}
/* 伪类 :focus :hover :first-child*/
input:focus{
background-color:#0066FF;
}
input:hover{
background-color:#FF0000;
}
/*first-child应用,比较易误解*/
p:first-child {font-weight: bold;}
li:first-child {text-transform:uppercase;}