CSS常用选择器及优先级

基础选择器

1. 通用选择器,匹配任何元素:*

    *{

        color:#FF0000;

    }

2.标签选择器,匹配指定的所有标签:

    p{

        color:#FF0000;

    }

3. class选择器,匹配所有包含指定class的元素

    .hello{

        color:#FF0000;

    }

    p标签中,class=hello的所有元素,注意,这里p和.hello之间不能有空格,空格是后代选择器

    p.hello{

        color:#FF0000;

    }

4. id选择器,匹配所有包含指定id的元素

    #hello{

        color:#FF0000;

    }

    p标签中,id=hello的所有元素,这里p和#hello之间不能有空格,空格是后代选择器

    p#hello{

        color:#FF0000;

    }

 

组合选择器

1. 多元素选择器,用','逗号隔开元素,不要有空格出现

    p,a{

        color:#FF0000;

    }

2. 后代元素选择器,用' '空格隔开元素

    div p{

        color:#FF0000;

    }

3. 子元素选择器,用'>'大于符号隔开元素,不要出现空格

    div>p{

        color:#FF0000;

    }

 

下面是很重要的优先级顺序

层叠优先级:

浏览器缺省< 外部样式表 < 内部样式表 < 内联样式

{

    浏览器缺省:不写style的时候;

    外部样式表:引用的外部css文件;

    内部样式表:在<style>...</style>中写的样式;

    内联样式:在<p style="..."></p>中写的样式;

}

 

选择器优先级:

通用选择器< 标签选择器 < 类选择器 < 类派生选择器 < ID选择器 < ID派生选择器

{

    派生选择器又叫做上下文选择器,比如"div .test #abc{}"

    对于派生选择器,当有"#"号出现时,不管'#'号在什么地方,第一个或者中间或者最后一个,

    都视为ID派生选择器,优先级高于只有一个选择的ID选择器,比如:

        div #abc .hello{} 优先级高于 #abc{}

    同理,类派生选择器,当派生选择器中没有'#',而有'.'出现时,叫做类派生选择器

        div .hello p{}  优先级高于.hello{}

 

    那么,对于同是派生选择器,优先级又是怎样的呢?

    对于ID派生选择器,ID选择器个数多的优先级高于ID选择器个数少的,比如:

        div #a #b #c{} 优先级高于 div #a #b .c{}

    当ID选择器个数相同的时候,根据谁在后用谁,比如:

        div #a #b .c{}

        div #a .b #c{}

        那么最后起作用的将是div #a .b #c{}

    对于类派生选择器,是和ID派生选择器一样的。

}

 

综合起来:

浏览器缺省,优先级最低

内联样式,优先级最高

外部样式表优先级始终小于内部样式表

在内部和外部样式表中,又按照选择器优先级区分,元素的效果总是由优先级最高的选择器所规定的。

(从上面可以看出,优先级的顺序总是由最详细的选择器所决定的,哪个选择器规定的越清楚,就用谁)

CSS选择器是用于选择HTML文档中的元素的模式。常见的CSS选择器包括: 1. 元素选择器:通过元素的标签名选择元素,如`p`选择所有的段落元素。 2.选择器:通过元素的class属性选择元素,使用`.`符号,如`.container`选择class为"container"的元素。 3. ID选择器:通过元素的id属性选择元素,使用`#`符号,如`#header`选择id为"header"的元素。 4. 属性选择器:通过元素的属性选择元素,如`[type="text"]`选择所有type属性值为"text"的元素。 5. 后代选择器:通过元素的后代关系选择元素,使用空格分隔,如`.container p`选择class为"container"的元素内部的所有段落元素。 6. 子元素选择器:通过元素的直接子元素关系选择元素,使用`>`符号,如`.container > p`选择class为"container"的元素下的直接子元素中的所有段落元素。 7. 相邻兄弟选择器:通过元素的相邻兄弟关系选择元素,使用`+`符号,如`h2 + p`选择紧接在h2元素后面的p元素。 8. 伪类选择器:通过元素的状态或位置选择元素,如`:hover`选择鼠标悬停的元素。 CSS选择器优先级表示了当多个选择器同时应用于同一个元素时,哪个选择器的样式规则会被应用。通常,优先级的计算规则如下: 1. ID选择器优先级最高,为100。 2.选择器、属性选择器和伪类选择器优先级为10。 3. 元素选择器和伪元素选择器优先级为1。 4. 通配符选择器和继承的样式没有优先级,其优先级为0。 如果多个选择器具有相同的优先级,则后面出现的选择器会覆盖前面出现的选择器。如果多个选择器具有不同的优先级,则优先级高的选择器的样式规则会被应用。 需要注意的是,使用`!important`声明可以提升样式规则的优先级,但是过度使用会导致样式难以维护和调试,应尽量避免滥用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值