前端css选择器

本文详细介绍了CSS选择器的各类用法,包括简单选择器如元素选择器、ID选择器、类选择器和通配选择器,以及复杂选择器如交集选择器、并集选择器、子元素选择器、后代元素选择器、兄弟选择器。同时讲解了属性选择器、伪类选择器和伪元素选择器的使用,涉及伪类在超链接`a`上的应用。此外,还阐述了选择器权重的概念及`!important`的使用。通过此篇,读者能全面理解并掌握CSS选择器的运用。
摘要由CSDN通过智能技术生成

简单选择器:

1. 元素选择器:

/* 元素选择器 */
        p{color: red;}

2.id选择器

 /* id选择器 */
        #red{color: red;}

3.类选择器,一个元素可以有多个类

 /* 类选择器 */
        .redclass{color: red;}

4.通配选择器

 /* 通配选择器 */
        *{color: red;}

复杂选择器:

1.        交集选择器,两个选择器直接连接

  /* 选择div且class为red的元素,如果有元素选择器需要放在最前面*/
        div.red{
            color: red;
        }

        并集选择器,两个选择器用,连接

 /* 设置h1元素和 class为div的元素的样式*/
        h1,div{
            color: red;
        }

2.     子元素选择器,父元素>子元素

 div>p{
            color: red;
        }
div>p>span{
            color: red;
        }

        后代元素选择器,祖先元素   后代元素

 div span{
            color: red;
        }

        后一个兄弟选择器,前一个兄弟+后一个兄弟(紧邻)

 h1+p{
            /* 只对p生效 */
            color: red;
        }

        后面兄弟选择器,前一个~后面所有兄弟

h1~p{
            /* h1后面的所有p都生效 */
            color: red;
        }

3.属性选择器:

元素选择器[属性名]:含有属性名

元素选择器[属性名="属性值"]:含有属性名且包含属性值

元素选择器[属性名^="值"]:以值为开头

元素选择器[属性名$="值"]:以值为结束

元素选择器[属性名*="值"]:包含值

        p[title]{
            color: red;
        }
        p[title="abc"]{
            color: red;
        }
        p[title^="abc"]{
            color: red;
        }
        p[title$="abc"]{
            color: red;
        }
        p[title*=abc]{
            color: red;
        }

4.伪类选择器:

伪类即不存在的类,特殊的类,用来描述处于某个状态的元素

例如:第一个元素,被点击的元素,鼠标放置在上面的元素等

伪类一般用:开头,

针对所有子元素排序:

  • : first-child 第一个子元素
  • : last-child 最后一个子元素
  • : nth-child(x) 第x个子元素------特殊取值,n:全部,2n/even第偶数个,2n+1/odd第奇数个

针对同一类型子元素排序:

  • : first-of-type第一个子元素
  • : last-of-type 最后一个子元素
  • : nth-of-type(x) 第x个子元素------特殊取值,n:全部,2n/even第偶数个,2n+1/odd第奇数个

:not(),将符合的剔除,:not(:frist-child),从选中的子元素中剔除第一个

ul>li:first-child{
            color: red;
        }
        ul>li:last-child{
            color: red;
        }
        ul>li:nth-child(1){
            color: red;
        }

        ul>li:first-of-type{
            color: red;
        }
        ul>li:last-of-type{
            color: red;
        }
        ul>li:nth-of-type(1){
            color: red;
        }

4.1伪类在超链接a上的使用

:link 超链接a独有的伪类 没有访问过的(正常的链接)

:visited 超链接独有的伪类 访问过的 只能修改颜色(为了隐私)

:hover 通用 表示鼠标移入

:active 通用 表示点击

        a:link{
            color: red;
        }
        a:visited{/*只能修改颜色*/
            color: red;
        }
        a:hover{
            color: red;
        }
        a:active{
            color: red;
        }

5.伪元素

代码中不存在的元素,特殊状态或者位置的元素

:: frist-letter 第一个字母

:: frist-line 第一行 

:: selection 选中的内容

注意:before和after得结合content 才能显示效果

:: before 元素的开始

:: after 元素的结束


        p::first-letter{
            color: red;
        }
        p::first-line{
            color: red;
        }
        p::selection{
            color: red;
        }
        p::before{/*before和after得结合content使用才能有效果*/
            content: "123";
            color: red;
        }
        p::after{
            content: "123";
            color: red;
        }

6.选择器权重:

规则:内联样式>id选择器>类选择器>元素选择器>通配选择器>继承样式

在元素比较的时候,复杂选择器的权重通过加和得到,但始终满足上诉规则。

注意:!important,可以把一个选择器的权重暂时提高到最高,且不能被修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值