• 伪类和伪元素,review


    总是分不太清楚,然后容易忘记这个概念,项目中又遇到了,复习一遍

    问题

    1.哪些常用的伪类?伪元素?

    怎么记:
    除了4个伪元素,其他都是伪类

    哪四个伪元素?:before :after :first-letter :first-line

    伪类
    :first-child
    :link
    :visited
    :hover
    :active

    2.伪类和伪元素的区别

    想想常用:before :after 用来干嘛?

    遇到的比较多的是在元素前后插入图片,或者清除浮动

    h1:before
      {
      content:url(logo.gif);
      }
    
    
    <div class="div1">
        <div class="left">Left</div>
        <div class="right">Right</div>
        <div class="clearfloat"></div>
    </div>
    
    .clearfix:after{
        content:"";				/*设置内容为空*/
        height:0;				/*高度为0*/
        line-height:0;			/*行高为0*/
        display:block;			/*将文本转为块级元素*/
        visibility:hidden;		/*将元素隐藏*/
        clear:both;				/*清除浮动*/
    }
    .clearfix{
        zoom:1;					/*为了兼容IE*/
    }
    
    
    

    定义:

    伪元素是创造文档树之外的对象。例如文档不能提供访问元素内容第一字或者第一行的机制。伪元素还提供一些在源文档中不存在的内容分配样式,例如:before和:after能够访问产生的内容。

    想想常用伪类用来干嘛?

    匹配元素

    a:link {color:#FF0000;} /* 未访问的链接 */
    a:visited {color:#00FF00;} /* 已访问的链接 */
    a:hover {color:#FF00FF;} /* 鼠标划过链接 */
    a:active {color:#0000FF;} /* 已选中的链接 */
    
    选择器匹配作为任何元素的第一个子元素的 <p> 元素
    
    p:first-child
    {
        color:blue;
    }
    
    

    定义

    伪类其实就是基于普通DOM元素而产生的不同状态,他是DOM元素的某一特征。

    3.总结

    一句话总结不同之处就是,伪元素产生新对象,在DOM树中看不到,但是可以操作;伪类不产生新的对象,仅是DOM中一个元素的不同状态;

    css3中,为了区别和标准化,伪元素修改为以 :: 开头,但因为历史原因,浏览器对以:开头的伪元素也继续支持,但建议规范书写为::开头。

    参考资料

    文章1
    文章2

  • 相关阅读:
    img标签为什么可以设置宽高
    高度和宽度的操作
    自增自减运算符
    读取标签内容:innerHTML和innerText的区别 text()和html()的区别
    js中的常用方法
    js中style,currentStyle和getComputedStyle的区别以及获取css操作方法(考虑兼容性和局限性)
    IE盒模型与W3C盒模型区别
    css四种定位方式及其区别
    css隐藏元素的方法何区别
    Hibernate之HQL
  • 原文地址:https://www.cnblogs.com/shipskunkun/p/11798476.html
Copyright © 2020-2023  润新知