zoukankan      html  css  js  c++  java
  • 伪类和伪元素

    一、伪类(pseudo classes)

      用于已有元素处于某种状态时为其添加对应的样式,但是通过DOM树又无法表示这种状态,就可以通过伪类来为其添加样式。

      例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般CSS相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式。

     

      比如使用:nth-child()伪类实现表格的斑马纹 

    1 table tr:nth-child(2n) td{
    2     background-color: #ccc;
    3 }
    4 table tr:nth-child(2n+1) td{
    5     background-color: #fff;
    6

      将所有偶数行背景色设置为#ccc,将所有奇数行背景色设置为#fff。

    二、伪元素(pseudo elements)

      用于创建一些不在DOM树中的元素,并为其添加样式。

      例如:我们可以通过:before来在一个元素之前添加一些文本,并为这些文本添加样式,虽然用户可以看见这些文本,但是它实际上并不在DOM文档中。

      比如使用before伪元素添加文字

      HTML为:

    <div class="user">World!</div>

      CSS为:

    .user::before{
        content: "Hello";
    }

      结果为:

    三、区别

      伪类与伪元素的主要区别在于:有没有创建一个DOM树之外的元素。

      伪类:用于已有元素处于某种状态时为其添加对应的样式。

      伪元素:用于创建一些不在DOM树中的元素。

        可以同时使用多个伪类,但是只能同时使用一个伪元素。

  • 相关阅读:
    js数组条件筛选——map()
    (转)适用微信小程序的table表格(带隔行变色)
    nodejs学习笔记<七> 路由
    酷我音乐(在线试听)下载方法
    nodejs学习笔记<二> 使用node创建基础服务器
    JS BOM 窗口中的使用
    JS DOM
    JS 寄生 继承
    JS字面量创建方式的优缺点
    JS 构造函数
  • 原文地址:https://www.cnblogs.com/gg-qq/p/13630485.html
Copyright © 2011-2022 走看看