zoukankan      html  css  js  c++  java
  • web(八)CSS选择器

    标签选择器

      使用html标签筛选需要渲染的网页元素。

    • 使用场景

      • 修改标签的默认样式,例如ul li 有默认的内边距,开发时应去掉标签的默认样式。

      • 设定全局字体样式。

      • 根据分辨率设定html标签的默认字体。

        div {/*直接用标签作为选择器*/
            background-color: yellow;
        }

    类选择器

      为一组样式属性进行命名(类名),标签使用时需要声明,使用频率最多的选择器。

    • 类选择器的特点

      • 多个标签可以引用同一个样式类,提高程序的公用性。

      • 通过语义化的类名定义增加了程序可读性。

      • 标签可以通过class引入多个样式类名,用空格分开。

      • 类名区分大小写。

         1 <!DOCTYPE html>
         2 <html>
         3     <head>
         4         <meta charset="utf-8" />
         5         <title></title>
         6         <style type="text/css"><!--使用style标签包裹-->
         7             .aClass{
         8                 background-color: #2E8B57;
         9             }
        10             .bClass{
        11                 color: red;
        12             }
        13         </style>
        14     </head>
        15     <body>
        16         <div class="aClass bClass">这是一个div容器</div>
        17     </body>
        18 </html>

    ID选择器

        根据标签的id属性筛选要被渲染的标签(很少使用)。

    • 注意事项

      • ID不能重复,因此每个元素都要编写一个id选择器,无法提炼公用样式。

      • 文档内元素的ID是区分大小写的。

      • id命名规则是由字母、数字和下划线组成。

      • 但是数字不能开头。

    • 程序示例
          <head>
              <meta charset="utf-8" />
              <title></title>
              <style type="text/css"><!--使用style标签包裹-->
                  #v_div{
                      color: green;
                  }
              </style>
          </head>
          <body>
              <div id="v_div">这是一个div容器</div>
          </body>

    选择器分组

      对一组选择器赋予同样的样式属性。

    • 使用场景:对于一组公用标签的相同属性进行赋值。

    • 基本语法

      selector1,selector2…..{/*若干个选择器,用逗号分隔*/
          此处为css属性以及取值
      }
    • 程序示例

          <head>
              <meta charset="utf-8" />
              <title></title>
              <style type="text/css"><!--使用style标签包裹-->
                  #v_div,a,.v_p{
                      border: solid 3px #800080;
                  }
              </style>
          </head>
          <body>
              <div id="v_div">这是一个div容器</div>
              <p class="v_p">段落</p>
              <a href="#">超链接</a>
          </body>

    派生选择器

        又称为后代选择器,按照html标签的层级关系(全部后代子孙)筛选被渲染的标签。

    • 基本语法

      <!--父在前,子在后,并用空格隔开-->
      selector1 selector2…..{
          此处为css属性以及取值
      }
    • 程序示例

          <head>
              <meta charset="utf-8" />
              <title></title>
              <style type="text/css">
                  .parent p {
                      color: red;
                  }
              </style>
          </head>
          <body>
              <div class = "parent">
                      <div>
                  <p>派生选择器</p>
                       </div>
              </div>
          </body>

    后代选择器

      又称为子元素选择器,按照html标签的层级关系(直接后代),筛选要被渲染的标签。

    • 基本语法

      selector1>selector2{
          此处为css属性以及取值
      }
    • 程序示例

       1     <head>
       2         <meta charset="utf-8" />
       3         <title></title>
       4         <style type="text/css"><!--使用style标签包裹-->
       5             .parent>div>p {
       6                 color: red;
       7             }
       8         </style>
       9     </head>
      10     <body>
      11         <div class = "parent">
      12                 <div>
      13                 <p>派生选择器</p>
      14                  </div>
      15         </div>
      16     </body>

    属性选择器

        根据元素的html属性或属性值筛选要被渲染的元素。

    • 基本语法

      selector[attr][attr=‘value’]{
          此处为css属性以及取值
      }
    • 程序示例

      <style type="text/css">
          a[href] {
              color:yellow;
          }
          a[href][title] {
              color:red;
          }
          a[href='www.baidu.com'] {
              color:blue;
          }
      </style>

    伪类选择符

        按照用户操作状态筛选需要渲染的元素,在css2中定义的伪类选择符一般用来操作超链接。

    • 伪类选择符的状态

      • E:link:筛选未被访问的链接。

      • E:visited :筛选已经被被访问的链接。

      • E:hover:筛选当前鼠标悬停时的任何元素。

      • E:active:筛选被用户激活(鼠标点击)时的任何元素。

        <style type="text/css"><!--使用style标签包裹-->
            .mydiv:link{
                color: blue;
            }
            .mydiv:visited{
                color: gray;
            }
            .mydiv:hover {
                color: purple;
            }
            .mydiv:active{
                color: red;
            }
        </style>
        <!--.mydiv为类选择器-->

    伪对象选择符

        在其他选择器筛选的结果中继续筛选需要渲染的标签

    • E::first-letter:设置符合E筛选条件的第一个字符的样式。
    • E::first-line:设置符合E筛选条件内的第一行的样式。
    • E::before:设置符合E筛选条件的前一个元素的样式。
    • E::after:设置符合E筛选条件的后一个元素的样式。

    <style type="text/css"> .myObj::first-line {/*第一行字体为红色*/

        color: blue;

    }

    </style>

    选择器的优先级别

    • 当同一个元素被多个选择符筛选,并且继承父元素的样式时,优先级别如下:
      • !important的优先级别最高。
      • 继承的优先级别最低,私有css属性将覆盖继承的属性。
      • 同一个元素被不同选择器筛选,又无!important修饰时优先级别计算公式
        • ID选择符个数*100+类选择符个数*10+标签选择符个数
  • 相关阅读:
    SpringSecurity配置
    SpringBoot整合Mybatis
    springboot整合JDBC
    SpringBoot的WEB流程
    List&TreeSet实现斗地主发牌及牌序
    SpringBoot第一个程序
    项目错误总结2021.4.21
    Spring整合Mybatis
    学习——构建民航业知识图谱并实现语义查询的
    新闻文本分类——词云可视化
  • 原文地址:https://www.cnblogs.com/-maji/p/7467061.html
Copyright © 2011-2022 走看看