CSS选择器详解(前端系列1)

博客核心内容:


①标签(名字)选择器
②ID选择器
③类选择器
④通配符选择器
⑤优先级就近原则,同权重情况下样式定义最近者为准
⑥多元素选择器
⑦后代选择器(.outer p)==>向下找
⑧子代选择器(.outer > p) ==>向下找
⑨相邻选择器(.outer + p) ==>向下找
⑩兄弟选择器(.outer ~ p) ==>向下找
属性选择器(属性既可以是自带的,也可以是用户自定义的 [item=”item1”])
⑿并且选择器
⒀class=”item1 item2”的应用
⒁伪类选择器
⒂选择器的优先级


1、标签(名字)选择器

这里写图片描述
运行结果:
这里写图片描述

2、ID选择器

这里写图片描述
运行结果:
这里写图片描述

3、类选择器

这里写图片描述
运行结果:
这里写图片描述

4、通配符选择器

这里写图片描述
运行结果:
这里写图片描述

5、优先级就近原则,同权重情况下样式定义最近者为准

示例1:
这里写图片描述
运行结果:
这里写图片描述

6、多元素选择器

这里写图片描述
运行结果:
这里写图片描述

7、后代选择器(.outer p)

这里写图片描述
运行结果:
这里写图片描述

8、子代选择器

这里写图片描述
运行结果:
这里写图片描述

9、相邻选择器

这里写图片描述
运行结果:
这里写图片描述

10、兄弟选择器

这里写图片描述
运行结果:
这里写图片描述

11、属性选择器
        带有A属性的标签:
        [A]{
            background-color: red;
        }

        A属性等于DIV1的标签:
        [A="DIV1"]{
            background-color: red;
        }

        A属性等于DIV1p标签:
        p[A="DIV1"]{
            background-color: red;
        }

        带有A属性的p标签:
        p[A]{
            background-color: red;
        }

示例程序1:(标签自带的属性)
这里写图片描述
运行结果:
这里写图片描述
示例程序2:(用户自定义的属性)
这里写图片描述
运行结果:
这里写图片描述

12、并且选择器

这里写图片描述
运行结果:
这里写图片描述

13、class=”item1 item2”的应用

这里写图片描述
运行结果:
这里写图片描述

14、伪类选择器

anchor伪类:专门用于控制链接的显示效果

 a:link,用于定义链接的常规状态。

 a:hover,当鼠标放在链接上时产生的状态。

before after伪类:适用于所用标签,主要用于进行调控。

 :before    p:before       在每个<p>元素之前插入内容     
 :after     p:after        在每个<p>元素之后插入内容     

例:p:before{content:"hello";color:red;display: block;}

代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>

            div{
                width: 80px;
                height: 25px;
                border: solid;
            }

            a:link{
                color: blue;
            }

            /*anchor伪类只针对a标签有效果:通过hover可以控制鼠标悬浮时的状态*/
            a:hover{
                color: red;
            }

            /*通过这种方式主要是为了调控:向下隔一行,而并不是为了添加某些文字*/
            /*下面这种写法并不是增加了一个标签,只不多是为标签增加了一个样式*/
            p:after{
                content:"hello p";
                color: red;
                display: block;
                background-color: wheat;
            }

        </style>
    </head>
    <body>
        <p>zhangmingyang</p>
        <div><a href="" >Hello Word</a></div>
    </body>
</html>

效果:
这里写图片描述
这里写图片描述
这里写图片描述
示例:需求:当鼠标悬浮在box区域的时候,都让div1标签区域内的颜色变红。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*<!--需求:当鼠标悬浮在box区域的时候,都让div1标签区域内的颜色变红-->*/
        /*当我们的鼠标悬浮在盒子上面的时候:将对div1产生影响*/
        /*悬浮所在的标签对可能产生影响的标签:标签可能不一样*/
        /*后面要操作处理的标签必须是前面悬浮标签的一个子标签,这是非常重要的!!!*/
        .box:hover .div1{
            background-color: blue;
        }

        .box{
            width: 100px;
            border: solid;
        }

        .div1{
            height: 100px;
            width: 100px;
            background-color: wheat;
        }

        .div2{
            height: 100px;
            width: 100px;
            background-color: red;
        }

    </style>
</head>
<body>
    <div class="box">
           <div class="div1">fdsf</div>
           <div class="div2">fsfds</div>
    </div>
</body>
</html>

运行结果:
在悬浮区外的时候:
这里写图片描述
悬浮的时候:
这里写图片描述

15、选择器的优先级
标签选择器:1
class选择器:10
id选择器:100
内嵌的优先级相当于:1000
<p style="color:gainsboro;">new P</p>
优先级就近原则:同权重情况下样式定义最近者为准(下面的style的定义为准),即相同优先级按照
顺序。
注意:有!important声明的规则高于一切。
        .new p{
            color: brown !important;
        }

可继承的标签:font-size font-family color这些与字体相关的属性。
(子类标签会继承父类标签的相关字体属性),即有些属性可以继承,但是有些属性并不能够继承,只能继承与
文本相关的属性。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*<!--在下面我们用三种不同的选择器对标签进行查找和操作-->*/
        #d2{
            color: blue;
        }
        /*权重:20*/
        .outer .div2{
            color: red;
        }
        /*权重21:三层查找*/
        .outer .div2  p{
           color: red;
        }
        /*权重:20*/
        .div2 .p1{
            color: yellow;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="div1" id="d1">DIV1</div>
        <div class="div2" id="d2">
            <p class="p1" id="p1">PPP</p>
        </div>
    </div>
</body>
</html>
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只懒得睁眼的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值