CSS基础(二)

2017-02-23  本文已影响0人  赫鲁晓夫的玉米棒子

classid的使用场景

id:适用与指定元素
class:适用与多个有共同样式的元素

CSS常见选择器

基础选择器

组合选择器

属性选择器

选择器的优先级计算

简单场景

  1. 在属性后面有!important时,优先级最高
  2. 作为style属性写的内联样式
  3. id选择器
  4. 类选择器
  5. 伪类选择器
  6. 属性选择器
  7. 标签选择器
  8. 通配符选择器
  9. 浏览器的自定义

复杂选择器

a:linka:hovera:activea:visited的使用顺序

a:link{
color: blue;
}
a:visited{
color: red;
}
a:hover{
color: green;
}
a:active{
color: yellow;
}

a首先是一个没点击过的链接(a:link),当鼠标放在a链接上(a:hover),再点击(a:active),点击后即为已访问过的链接(a:visited)。
样式层层覆盖。

常见的伪类选择器

p:first-childp:first-of-type的作用和区别

<style>
p:first-child{
color:red;
}
</style>
<div>
      <p>第一个元素——p</p>                   字体为红
      <div>第二个元素——div</div>             字体为黑
</div>
<div>
      <div>第一个元素——div</div>             字体为黑
      <p>第二个元素———p</p>                  字体为黑
</div>
p:first-of-type{
color:red;
}
<div>
      <p>第一个元素——p</p>                   字体为红
      <div>第二个元素——div</div>             字体为黑
</div>
<div>
      <div>第一个元素——div</div>             字体为黑
      <p>第二个元素———p</p>                  字体为红
</div>

问题1

#header{
}/*id为header的元素*/
.header{
}/*class为header的元素*/
.header .logo{
}/*后代选择器,class为header下所有class为logo的元素*/
.header.mobile{
}/*class为header和mobile的元素*/
.header p, .header h3{
}/*class为header下所有p和h3元素*/
#header .nav>li{
}/*id为header下所有class为nav的元素下所有li元素*/
#header a:hover{
}/*id为header下所有鼠标在其上方的a元素*/
#header .logo~p{
}/*id为header下所有class为logo后所有同级的p元素*/
#header input[type="text"]{
}/*id为header下所有input标签中有type属性为text的元素*/

问题2

<style>
.item1:first-child{
  color: red;
}
.item1:first-of-type{
  background: blue;
}
</style>
 <div class="ct">
   <p class="item1">aa</p>/*该元素即是.ct中第一个元素,也是.ct中第一个p元素,所以它即是红字也是蓝背景*/
   <h3 class="item1">bb</h3>/*该元素是.cd中的第二个元素,但是却是第一个h3元素,所以它仅是背景为蓝色*/
   <h3 class="item1">ccc</h3>/*该元素是.cd中的第三个元素,也是第二个h3元素,所以它的样式是浏览器的默认样式*/
 </div>
上一篇下一篇

猜你喜欢

热点阅读