4.前端CSS之选择器

目录

1.CSS书写格式,CSS引入方式

2.CSS选择器分类(id,class,元素,通用)

3.元素选择器之间组合使用分类(即元素组合选择器)【后代/儿子/毗邻/弟弟】

4.属性选择器(精准定位)

5.多种选择器并列/组合(逗号表示并列)

6.伪类选择器(状态变化)【link,hover,active,visited,focus】

7.伪元素选择器(首尾调节,css添加内容,消除浮动问题)

8.选择器优先级 


1.CSS书写格式,CSS引入方式

1.css的语法结构
    选择器 {
        属性1:值1;
        属性2:值2;
        属性3:值3;
        属性4:值4;
    }

2.css的三种引入方式
	1.style标签内部直接书写(head内,调试阶段)
        <style>
            hi{
                color: yellow;
            }
        </style>
    2.通过link标签引入外部css文件(最正规的方式 解耦合)
      <link rel="stylesheet" href="css文件路径">
        stylesheet:引用外部css文件

	3.行内式,直接在标签处(一般不用)
  		<h1 style="color: yellow">一起学习python吧</h1>

2.CSS选择器分类(id,class,元素,通用)

1.例子代码:
<html>
    <head></head>
    <body>
        <span id="i1" class="c1">今天学习了嘛</span>
        <p>一起努力学习</p>
    </body>
</html>

2.选择器分类(在style中演示)
    (1)id选择器
        #i1 {                               /*找到id是i1的标签 将文本颜色变成绿黄色*/
            color: yellow;
        }
    (2)类选择器
        .c1 {                               /*找到class值里面包含c1的标签*/
            color: red;
        }
    (3)元素/标签选择器
        span {                              /*找到所有的span标签*/
            color: red;
        }
    (4)通用选择器
        * {                                 /*将html页面上所有的标签全部找到*/
            color: green;
        }

3.元素选择器之间组合使用分类(即元素组合选择器)【后代/儿子/毗邻/弟弟】

元素组合选择器
    后代选择器
    儿子选择器
    毗邻选择器
    弟弟选择器

例子代码:
<html>
    <head>
        <style>
            div span{              /*后代选择器,空格:后代(所有span)*/
               color: red;
            }

            div>span{              /*儿子选择器,>:儿子(第一级所有span)*/     
               color: red;
            }

            div+span{              /*毗邻选择器,+:和div同级并且紧挨着的下面的第一个span*/
               color: aqua;
            }

            div~span {             /*弟弟选择器,~:和div同级别下面所有的span*/
                color: red;
            }
    </style>
</head>
    <body>
        <span>span1</span>
        <span>span2</span>
        <div>div
            <p>div下的p</p>
            <p>div下的p
                <span>div下的p里的span</span>
            </p>
            <span>div下span3</span>
            <span>div下span4</span>
        </div>
        <span>span5</span>
        <span>span6</span>
        <p>ppp</p>
        <span>span7</span>
    </body>
</html>

4.属性选择器(精准定位)

属性选择器
    含有某个属性
    含有某个属性并且有某个值
    含有某个属性并且有某个值的某个标签    标签[属性=""]{样式}

例子代码:
<html>
    <head>
        <style>
            [username]{                  /*1.将所有含有属性名是username的标签背景色改为红色*/
                background-color: red;
            }

            [username='wsx']{            /*2.找到所有属性名是username并且属性值是wsx的标签改为橘色*/
                background-color: orange;
            }

            input[username='wsx']{       /*3.找到所有属性名是username并且属性值是mxg的input标签*/
               background-color: wheat;
            }
        </style>
    </head>
    <body>
        <input type="text" username>
        <input type="text" username="zjf">
        <input type="text" username="mxg">
        <p username="wsx">前端学习</p>
        <div username="sdf">MySQL学习</div>
        <span username="lzr">python学习 </span>
    </body>
</html>

5.多种选择器并列/组合(逗号表示并列)

1.多种不同选择器组合使用:
    多种样式同用时:并列用逗号,隔开

<html>
    <head>
        <style>
            div,p,span {              /*元素标签之间并列,逗号表示并列关系*/
                color: yellow;
            }

            #d1,.c1,span  {           /*id与元素之间并列*/
                color: orange;
            }

            #d1 .c2 span{             /* id与元素之间组合嵌套 */
                color: red;
            }
        </style>
    </head>
    <body>
        <div id="d1">div
            <p class="c2">div>p
                <span id="d3">div>p>span1</span>
                <span id="d4">div>p>span2</span>
            </p>
            <p class="c3">sadjasdjkasldj</p>
        </div>
        <p class="c1">p</p>
        <span>span</span>
    </body>
</html>

6.伪类选择器(状态变化)【link,hover,active,visited,focus】

<!-- 
伪类选择器,用于鼠标触碰所显示效果,多用在标题跳转(a超链接),
格式:标签:状态{}
    访问前状态:link
    鼠标悬浮状态:hover
    点击不松鼠标状态:active
    访问后状态:visited
    input标签框聚焦状态:focus
 -->
<html>
    <head>
        <style>
            body {
                background-color: black;
            }

            a:link {                            /*访问之前的状态*/
                color: red;
            }

            a:hover {                           /*鼠标悬浮态,停留在标记处的状态,常用*/
                color: aqua;
            }

            a:active {                          /*鼠标点击不松开的状态  激活态*/
                color: black; 
            }

            a:visited {
                color: darkgray;                 /*访问之后的状态*/
            }
        
            input:focus {                        /*input框获取焦点(鼠标点了input框)*/
                background-color: brown;
            }
        </style>
    </head>
    <body>
        <a href="https://www.jd.com/">买买买买啊</a>
        <input type="text">
    </body>
</html>

7.伪元素选择器(首尾调节,css添加内容,消除浮动问题)

<!-- 
伪元素选择器,多用于文本前后修改样式
    first-letter:首字调节
    before>content:利用css在前面添加文本,该文本不能被cv
    after>content:
before和after通常都是用来清除浮动带来的影响:父标签塌陷的问题
 -->
<html>
    <head>
        <style>
            p:first-letter {          /*首字调节*/
                font-size: 48px;
                color: orange;
            }

            p:before {                /*在文本开头 用css添加内容,且内容不能被cv*/
                content:"这段内容不可以被cv,不信你试试";
                color: blue;
            }

            p:after {
                content: '这段内容也不可以被cv';
                color: orange;
            }
        </style>
    </head>
    <body>
        <p>装备一刀99,没有刀都掉钱</p>
    </body>
</html>

8.选择器优先级 

        1.选择器相同,上到下顺序而排

                    就近原则:谁离标签更近就听谁的

        2.选择器不同

                    行内 > id选择器  > 类选择器 > 标签选择器

                  (精确度越高越有效)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值