css基础布局复习笔记(三)选择器

目前主要有四类选择器:组合选择器、伪类选择器、结构性伪类选择器、伪元素选择器。每类选择器的具体用法如下:


一、组合选择器

组合选择器优先级:

继承的优先级最低,所以比较优先级一点要在精准控制元素的基础上进行比较。

1、先比较id 个数 个数高的,优先级高

2、如果id个数相等,比较class选择器个数 

3、再比较标签选择器数目

二、伪类选择器

伪类选择器 用于向某些选择器添加特殊的效果

link  未被点击的链接   

visited  已被点击的链接   

active  选定的时候  

hover  鼠标悬停的时候

三、伪元素选择器

css3新增。通过样式的方式在元素后面添加内容 字面意思假的元素。

1、 ::first-letter 第一个字

2、 ::first-line 第一行(以浏览器为准的第一行)

3、  ::selection 被选中的字行(鼠标选中的字段)只能向 ::selection 选择器应用少量 CSS 属性:color、background、cursor 以及 outline。

4、 ::before 和 ::after

  必须带一个content属性;

  在内部内容的前面或者后面插入内容;

  当插入的内容定义宽高和其他属性时,其实就是一个盒子(必须通过display转换,因为默认是一个行内元素);

注意:input不能使用伪元素。(为什么input不支持伪元素(:after,:before)?)

四、结构性伪类选择器

结构性伪类选择器 根据嵌套结构选择元素。属于css3部分,低版本浏览器不 兼容

1、li:first-of-type   

/*选择父元素里面的第一个li元素  无视其他元素*/  = li:nth-of-type(1)

在下面的代码中,p1和p5均被选中。

<div class="content">
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <p>p4</p>
    <span>span1</span>
</div>
<p>p5</p>

2、li:last-of-type /*选择父元素里面的倒数第一个li元素  无视其他元素*/  

3、p:only-of-type /*选择父级元素里面唯一的p  可以存在其他子元素*/

4、li:first-child 

/*选择父元素的第一个元素 并要求第一个元素为li*/ 

只能选择到上面元素的p1.

5、li:last-child /*选择父元素的倒数第一个元素 并要求这个元素为li */ 

6、p:only-child /*选择父元素中唯一的子元素p 不允许有其他子元素*/ 

7、p:nth-of-type(2) /*选择父元素中第二个p元素  无视其他元素*/ 

8、p:nth-last-of-type(2)/*选择父元素中倒数第二个p元素  无视其他元素*/

9、p:nth-child(2)  /*选择父元素中第二个子元素  并要求此元素为p*/

10、p:nth-last-child(2)

11、p:not(.box) /*选择除了.box之外的p*/ 

12、E:first-line 表示E元素中的第一行
   E:first-letter 表示E元素中的第一个字符

猜你喜欢

转载自www.cnblogs.com/chengl062/p/11410082.html
今日推荐