• HTML选择器


    CSS三大特性

    • 层叠性
    • 继承性
    • 优先性

    层叠性

    1.当同一个元素被两个选择器选中时,CSS会根据++选择器的权重++决定使用哪一个选择器
    2.权重低的选择器效果会被权重高的选择器效果覆盖,权重相同时取后者
    id选择器的权重为100,类选择器的权重为10,标签选择器的权重为1


    继承性

    继承性是子元素继承父元素样式的特性,在CSS中以text-、font-、line-开头的属性以及color属性都可以继承

    有一些比较特殊的元素,如a标签的颜色不能继承,必须对a标签本身进行设置;h标签字体的大小不能继承,必须对h标签本身进行设置


    优先性

    id选择器>类选择器>标签选择器>通配选择器>继承>浏览器默认属性值


    通配选择器

    作用:选中页面所有元素
    语法:*{}

    *{color:blue;}
    

    类选择器(class选择器)

    如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以选择类选择器
    语法:.class属性{}

    <style>  
    .box{color:red;}  
    </style>
    <body>
    <div class="box">小明</div>   
    <div class="box">小李</div>     <!--文本都变成红色-->
    </body>
    

    不要使用纯数字、中文等命名、尽量使用英文字母来表示


    id选择器

    作用:根据元素的id属性值选中一个元素
    语法:#id属性{}

    <style>  
    #box{color:red;}  
    </style>
    <body>
    <div id="box">变红</div>
    </body>
    

    id属性具有唯一性,也就是说一个页面中相同的id只能出现一次


    元素选择器

    作用:根据标签名来选中指定元素
    语法:p{},div{}

    <style>  
    div{color:red;}  
    </style>
    <body>
    <div>变红</div>
    </body>
    

    后代选择器

    作用:选择元素内部中某一种元素的所用元素(包括子元素和其它后代元素)
    例:

    father div{ 100px;}

    父元素和后代元素必须要用空格隔开,表示选中某个元素内部的后代元素

    <style>
    #box1 p{color:blue;}
    #box2 span{color:red;}
    </style>
    <body>
    <div id="box1">
    <p>好好学习,天天向上</p>  <!--文本内容变成蓝色-->
    <div>失败是成功之母</div>
    </div>
    <div id="box2">
    <div>好好学习,天天向上</div>
    <span>失败是成功之母</span>  <!--文本内容变成红色-->
    </div>
    </body>
    

    组群选择器

    作用:同时选择多个选择器进行相同的操作
    语法:p,span,div{}

    <style>  
    p,span,div{color:red;}  
    </style>
    <body>
    <p>小李</p>
    <span>小王</span>
    <div>小明</div>  <!--文本内容都变成红色-->
    </body>
    

    选择器之间要用逗号隔开


    属性选择器

    作用:根据元素的属性及属性值来选择元素
    语法:

    • [属性名]{} --->选择含有指定属性的元素
    <style>
    [title]{color:blue;}
    </style>
    <body>
    <p title="a">富强</p>
    <span title="b">民主</span>  <!--p标签和span标签文本内容都变成蓝色-->
    </body>
    
    • [属性名=属性值]{} --->选择含有指定属性和属性值的元素
    <style>
    [title="a"]{color:blue;}
    </style>
    <body>
    <p title="a">富强</p>
    <span title="b">民主</span> <!--只有p标签文本内容变成蓝色-->
    </body>
    
    • [属性名^=属性值]{} --->以...开头
    <style>
    [title^="film"]{border:3px black;}
    </style>
    <body>
    <img src="img/1.jpg" alt="film-a">  <!--前两张图片都被设置了一个黑色边框-->
    <img src="img/2.jpg" alt="film-b">
    <img src="img/3.jpg" alt="films-c">  <!--没有任何变化-->
    </body>
    
    • [属性名*=属性值]{} --->包含...
    <style>
    [title*="film"]{border:3px black;}
    </style>
    <body>
    <img src="img/1.jpg" alt="film-a">  
    <img src="img/2.jpg" alt="films-b">  <!--没有任何变化-->
    <img src="img/3.jpg" alt="films-film"> 
    <!--第一张和第三张图片都被设置了一个黑色边框-->
    </body>
    
    • [属性名$=属性值]{} --->以...结尾
    <style>
    [title$="a"]{border:3px black;}
    </style>
    <body>
    <img src="img/1.jpg" alt="film">  <!--没有任何变化-->
    <img src="img/2.jpg" alt="films-b-a">  
    <img src="img/3.jpg" alt="films-film-a"> 
    <!--第二张和第三张图片都被设置了一个黑色边框-->
    </body>
    

    伪类选择器

    • 伪类:不存在的类,特殊的类
      • 用来描述一个元素的特殊状态
      • 一般情况下都是使用:开头
        常见有以下:
    1. :first-child --->表示选中第一个子元素
    2. :last-child --->表示选中最后一个子元素
    3. :nth-child() --->可以匹配列表中任意一个子元素

    括号中可填1,2,3,……,n;odd;even;2n;2n+1等其它

    注意:以上伪类都是根据所有的子元素进行排序的

    以下三种伪类功能和上述类似,不同点在于它们是在同类型元素中进行排列

    1. :first-of-type
    2. :last-of-type
    3. :nth-of-type()

    伪元素选择器

    • 伪元素表示页面中一些特殊的并不真实存在的元素
    • 伪元素前是::
      常见伪元素有:
      • ::first-letter --->表示第一个字母
      • ::first-line --->表示第一行
      • ::selection --->表示选中的内容
      • ::before --->表示元素的开始
      • ::after --->表示元素的结束
        注意:before和after必须结合content属性来使用
        例:
    div::before{content:『; color:red;}
    div::before{content:』; color:red;}
    

    ------------恢复内容结束------------

  • 相关阅读:
    js的alert乱码问题
    (6)select语句
    (5)视图
    (4)索引
    (3)操作数据库
    (2)MySQL数据类型
    (1)MySQL概述
    RocketMQ安装使用
    uniapp打包h5
    面试必问 如何保证缓存与数据库的一致性
  • 原文地址:https://www.cnblogs.com/L-hua/p/13998882.html
Copyright © 2020-2023  润新知