17-css选择器

174 阅读3分钟

css选择器

分类

  • 基础选择器:标签选择器、类选择器、id选择器、属性选择器、伪类选择器、伪元素选择器、通配符选择器
  • 组合选择器:后代选择器、子选择器、相邻兄弟选择器、通用兄弟选择器、并集选择器

基础选择器

  • 标签选择器:通过标签名找到对应的标签作用样式

    标签名{
        css样式代码
    }
    
  • 类选择器:通过class名找到对应的标签作用样式

    .class名{
        css样式代码
    }
    /* 找到身上既有class1又有class2的标签 */
    .class1.class2{
         css样式代码
    }
    
    • 一般用于提取公共样式
    • 一个标签上可以取多个类名,类名和类名之间使用空格隔开
    • 多个类名放在一起,中间没有空格,表示即有类名1又有类名2的标签
  • id选择器:通过id名找到对应的标签作用样式

    .id名{
        css样式代码
    }
    
    • 唯一性,在一个页面中只能有一个标签取名一个id
  • 属性选择器:通过标签中的属性名或属性值找到对应的标签作用样式

名字含义
[属性名]找到带有指定属性名的标签
[属性名=属性值]找到带有指定属性名和属性值的标签[精确匹配]
[属性名*=属性值]找到带有指定属性名中含有指定属性值的标签[模糊匹配]
[属性名^=属性值]找到带有指定属性名中以指定属性值的开头的标签
[属性名$=属性值]找到带有指定属性名中以指定属性值的结尾的标签
  <style>
        /* 1.找到带有属性名的标签 */
        [class]{
            color: pink;
        }
        /* 2.找到带有属性名和属性值的标签[精确匹配] */
        [class=p1]{
            color: red;
        }
        /* 3.找到属性名中含有属性值的标签[模糊匹配] */
        [class*=p]{
            color: green;
        }
        /* 4.找到属性名中以指定属性值开头的标签 */
        [class^=t]{
            color: blue;
        }
        /* 5.找到属性名中以指定属性值结尾的标签*/
        [class$=e]{
            color: yellow;
        }
    </style>
<body>
    <p class="one">p1</p>
    <p class="two">p2</p>
    <p class="three">p3</p>
</body>
  • 伪类选择器:给浏览器的标签添加功能性内容
名字含义
:link超链接访问之前的样式
:visited超链接访问之后的样式
:hover鼠标悬停时样式
:active鼠标左键选中时样式(元素激活)
:focus输入框聚焦时样式
  • 注意:linkvisited只能添加给超链接;focus只能添加给输入框
  • 注意设置顺序:l-v-h-a :注意顺序:hover只能设置在link和visited之后,active只能设置在hover之后
  • 伪元素选择器:通过css技术,在标签开头或结尾渲染一块区域,作用css样式
名字含义
::before在元素开头位置渲染一块区域
::after在元素结尾位置渲染一块区域
::first-letter标签中第一个字符添加样式
::first-line标签中第一行字符添加样式
::selection标签中选中区域添加样式
  • ::before::after中必须添加固定代码content

  • 通配符:找到页面中所有标签作用一次样式

    *{   
    css样式代码
    }
    

组合选择器

  • 后代选择器:找到指定标签中所有满足条件的后代标签作用样式

    • 中间使用``连接
    //找到box盒子中所有的p标签作用样式
    .box p{
    }
    
  • 子元素选择器:找到指定标签中所有满足条件的直接子标签作用样式

    • 中间使用>连接
    //找到box盒子中所有的直接子元素p标签作用样式
    .box>p{
    }
    
  • 相邻兄弟选择器:找到指定标签中的下一个兄弟标签作用样式

    • 中间使用+连接

      //找到.p2标签的下一个相邻兄弟p标签
      .p2+p{
      }
      
  • 通用兄弟选择器:找到指定标签中后面所有的兄弟标签作用样式

    • 中间使用~连接

      //找到.p2标签后面所有的兄弟p标签
      .p2~p{
      }
      
  • 并集选择器:多个选择器之间使用逗号隔开,会找到逗号前和逗号后的选择器分别作用一次样式代码

    span,h1,p{
        css样式代码
    }