CSS中常用的几种选择器是哪几种呢?

     

CSS中常用的选择器:

(一)基本选择器(二)层次选择器(三)动态伪类选择器(四)目标伪类选择器

(五)ui状态伪类选择器(六)结构伪类选择器(七)属性选择器(八)伪元素

     (一)基本选择器

        1.标签选择器:通过标签名获取元素       权重:0001

       (此种选择器影响范围大,建议尽量应用在层级选择器中。)

        2.class选择器:通过 类名获取元素        权重:0010

      (通过class类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。)

        3.id选择器:通过 # id名获取元素             权重:0100

     (通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。  )

        4. * 通配符选择器:获取到页面的所有元素

        5.群组选择器:用逗号隔开基本选择器,表示这些选择器都获取到 

    (二)层次/关系选择器

       (主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。)

        1.包含选择器:用空格隔开基本选择器,表示后一个选择器是前面的后代

        例:p a {  color:red; }

        2.子代选择器:用>隔开基本选择器,表示后一个选择器是前面的子代

        例:ul>li { line-style: none; }

        3.相邻兄弟选择器:E+F:表示获取到E后面的紧跟着的F元素(同级的)

       例: a+a { }

        4.兄弟选择器:E~F:表示获取到E后面所有的同级的F元素

       例: li~li { }

    (三)动态伪类选择器

        1. a:link 锚链接被访问前添加样式

        2. a:visited 锚链接被访问后添加样式

        3. e:hover 鼠标悬停在元素上添加样式

        4. e:active 鼠标点击元素时添加样式

        5. :focus 表单元素被聚焦时,添加样式

    (四)目标伪类选择器

        语法: 目标:target {属性:属性值} 被选中的目标添加样式

                目标:target E子元素{属性:属性值} 被选中的目标里的E子元素添加样式 

     (五)ui状态伪类选择器

        1. :enabled 可用的表单元素添加样式

        2. :disabled 不可用的表单元素添加样式(disabled )

        3. :checked+E 被选中的表单元素添加样式

   

     (六)结构伪类选择器

        1. E:first-child 获取到E元素,且要满足为其父元素的第一个孩子。

        2. E:last-child 获取到E元素,且要满足为其父元素的最后一个孩子

        3. E:nth-child(n) 获取到E元素,且要满足为其父元素的第n个孩子

        n的用法:

        (1)6n倍数   (2)even偶数/2n   odd奇数/2n-1(如可用来选中奇偶行来实现 “隔行换色”)  

        (3) -n+5 选中1-5

        (4)p:nth-child(-n+3):nth-child(n+2)   2-3个

        4. E:nth-last-child(n) 获取到E元素,且要满足为其父元素的倒数第n个孩子

        5. E:first-of-type 获取到E元素,且要满足为其父元素的第一个该类型的孩子

        6. E:last-of-type 获取到E元素,且要满足为其父元素的最后一个该类型的孩子

        7. E:nth-of-type(n) 获取到E元素,且要满足为其父元素的第n个该类型的孩子

        8. E:nth-last-of-type(n)获取到E元素,且要满足为其父元素的倒数第n个该类型的孩子

        9. E:empty 获取到空的E元素(注:连空格都不能有)

    (七)属性选择器

        1. E[attr] 拥0有attr属性的E元素添加样式 如div[class];

        2. E[attr="val"] 拥有attr属性值 为 val的E元素添加样式 如p[class="ab"]

        3. E[attr*="val"] attr属性值 包含 val的E元素添加样式  

           如ul[class="c"]  指class类名中包含有c字母的E元素

        4. E[attr^="val"] attr属性值以val 开头 的E元素添加样式

        5. E[attr$="val"] attr属性值以val 结尾 的E元素添加样式

    (八)伪元素

        1. E::before给E元素添加第一个子元素 (前面)     

                div::before{

                    content:"内容";

                    display:block;

                    width:100px;

                    height:100px;

                }

        2. E::after 给E元素添加最后一个子元素(后面)

        3. E::first-letter给E元素第一个字添加样式

        4. E::first-line给E元素第一行添加样式 

        5. E::selection 元素内容被选中时添加样式(火狐需要加前缀-moz-) 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值