返回顶部
首页 > 资讯 > 前端开发 > JavaScript >CSS中的伪类after是怎样的
  • 318
分享到

CSS中的伪类after是怎样的

2024-04-02 19:04:59 318人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关CSS中的伪类after是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 引子前段时间学习 WEB 布局的时候,因为要

这篇文章将为大家详细讲解有关CSS中的伪类after是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。


1. 引子

前段时间学习 WEB 布局的时候,因为要用浮动 float 属性,所以就顺理成章地碰到了清除浮动 clear 属性。教学的案例中是用新建一个空的 div 标签的方式来清除浮动的,主要代码如下:

CSS 

  1. <div class="mainBox">   
        <div class="leftBox"></div>   
        <div class="rightBox"></div>   
        <div class="clear"></div>   
    </div>   
      
    .mainBox   
    {   
        width:960px;   
        margin:0 auto;   
        background-color:#CFF;   
        overflow:visible;   
    }   
    .leftBox   
    {   
        width:740px;   
        height:300px;   
        background-color:#C9F;   
        float:left;   
    }   
    .rightBox   
    {   
        width:210px;   
        height:300px;   
        background-color:#FCF;   
        float:rightright;   
    }   
    .clear  
    {   
        clear:both;   
        height:0;  
        overflow:hidden;   
    }

看到之后,想到以前见到过有用 css 伪类 after 来进行清除浮动的方式。记不太清了,于是写成了如下的情况:

CSS 

  1. <div class="mainBox">   
        <div class="leftBox"></div>   
        <div class="rightBox"></div>   
    </div>   
      
    .mainBox{   
        width:960px;   
        background-color:#CFF;   
        margin:0 auto;   
        }   
    .leftBox{   
        width:740px;   
        height:300px;   
        background-color:#C9F;   
        float:left;   
    }   
    .rightBox{   
        width:210px;   
        height:300px;   
        background-color:#FCF;   
        float:rightright;   
    }   
    .rightBox:after{   
        clear:both;   
        content:".";   
        visibility:hidden;   
        display:block;   
        height:0;   
        overflow:hidden;   
    }

悲剧发生了,mainBox 中的 #CFF 颜色并没有出现在 leftBox 和 rightBox 中间,说明上述的写法有地方不对了。询问了伟大的谷歌之后才发现,css 的 after 伪类应该写在 mainBox 之后,即:

CSS 

  1. .mainBox:after{   
        clear:both;   
        content:".";   
        visibility:hidden;   
        display:block;   
        height:0;   
        overflow:hidden;   
    }

    P.S.
    1. 现在回过头来看上述方法,其实上述方法所谓的清除浮动,都是将没有设置高度的.mainBox的高度撑起来,从而使得.mainBox的弟元素能直接跟在.mainBox后面。而不会因为.mainBox高度塌陷而被隐藏在.mainBox内部浮动的子元素下。防止高度塌陷还可以使用创建一个 BFC 的方法(如overflow:hidden)来进行。
    2. 如果.mainBox设置了高度,且大于或等于其浮动的子元素,那么不用这样的清除浮动的方式,.mainBox的弟元素也不会受到.mainBox内部浮动子元素的影响。
    3. 若果不考虑.mainBox的高度塌陷问题,直接在其弟元素处设置clear属性即可。

2. 关于 after 的思考

w3school 中关于 after 伪类的介绍如下:

    定义和用法
    :after 选择器在被选元素的内容后面插入内容。
    请使用 content 属性来指定要插入的内容。

比较有歧义的是这个“被选元素的内容后面”中的 后面 两个字。开始我误认为了是将 after 中的内容插入至被选元素的 弟元素 位置上。

CSS 

  1. .rightBox:after{   

  2.     content:"我是after";   

  3.     display:block  

  4. }  

会产生类似于

CSS 

  1. <div class="rightBox"></div>   

  2. <div>我是after</div>  

这样的效果 (当然,after 伪类实际上是不会产生一个 DOM 元素的)。

但通过引子中用 css 伪类 after 来进行清除浮动的检验,发现 后面 实际上应该理解为将 after 中的内容插入至被选元素的 子元素 位置上,即类似于如下效果:

CSS 

  1. <div class="rightBox">   

  2.     <div>我是after</div>   

  3. </div>  

因此,才有了引子中用 mainBox:after{} 这样的方式来实现 after 伪类清除浮动,而非 rightBox:after{}这种方式。

简单总结下:after 伪类所产生的内容应该是在被选元素的子元素位置(而且在所有子元素的最后,简单的几个测试就能发现,不再赘述),而非被选元素的弟元素位置。
3. w3school 中的示例

从这个 示例 可以看出,after 伪类内容的默认 display 方式应该为内联 inline。

其实看到这个示例才发现,after 伪类所产生的内容应该就是在被选元素的子元素位置的(汗,那还饶了那么大个圈才发现&hellip;&hellip;)。示例中 p 标签的 after 内容展现的方式已经很明确了,大家可以仔细体会下。所以说,看示例也是很重要啊。

关于CSS中的伪类after是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: CSS中的伪类after是怎样的

本文链接: https://lsjlt.com/news/81817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS中的伪类after是怎样的
    这篇文章将为大家详细讲解有关CSS中的伪类after是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 引子前段时间学习 web 布局的时候,因为要...
    99+
    2024-04-02
  • CSS伪元素中before和:after以及box-shadow应用是怎样的
    本篇文章给大家分享的是有关CSS伪元素中before和:after以及box-shadow应用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看...
    99+
    2024-04-02
  • CSS的:after伪元素怎么用
    这篇文章主要讲解了“CSS的:after伪元素怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS的:after伪元素怎么用”吧! ":a...
    99+
    2024-04-02
  • css3中的伪类before和after怎么用
    本篇内容介绍了“css3中的伪类before和after怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!before/after伪类相当...
    99+
    2023-06-08
  • css中的伪元素before和after怎么使用
    小编给大家分享一下css中的伪元素before和after怎么使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   ::before和::after是什么?   before和aft...
    99+
    2024-04-02
  • CSS中伪元素::before和::after怎么用
    小编给大家分享一下CSS中伪元素::before和::after怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!::befo...
    99+
    2024-04-02
  • CSS中的伪类及伪元素是什么
    本篇内容介绍了“CSS中的伪类及伪元素是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  ...
    99+
    2024-04-02
  • CSS中的属性选择符和结构化伪类是怎样的
    今天就跟大家聊聊有关CSS中的属性选择符和结构化伪类是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。属性选择符属性名选择符格式:标签名[属性名...
    99+
    2024-04-02
  • css中伪类指的是什么
    这篇文章主要介绍css中伪类指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css伪类是用于定义元素的特殊状态,它可以用于:1、设置鼠标悬停在元素上时的样式;2、为已访问和未访问链接设置不同的样式;3、设置元...
    99+
    2023-06-15
  • css中伪类及伪对象指的是什么
    本篇内容主要讲解“css中伪类及伪对象指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中伪类及伪对象指的是什么”吧! ...
    99+
    2024-04-02
  • CSS中的before和:after伪元素的用法介绍
    本篇内容介绍了“CSS中的before和:after伪元素的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • CSS中的before和:after伪元素如何使用
    今天小编给大家分享一下CSS中的before和:after伪元素如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2024-04-02
  • CSS伪类修改input选中样式的方法
    这篇文章将为大家详细讲解有关CSS伪类修改input选中样式的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。注:该表引自W3School教程伪元素的分类及作用:下面通过代码看下CSS 伪类修改inpu...
    99+
    2023-06-08
  • CSS中active伪类元素被激活时的样式
    本篇文章为大家展示了CSS中active伪类元素被激活时的样式 ,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 :active -- ...
    99+
    2024-04-02
  • CSS伪类的语法是什么
    这篇“CSS伪类的语法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS伪类的语法...
    99+
    2024-04-02
  • CSS伪类的概念是什么
    本篇内容介绍了“CSS伪类的概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS伪类(Pseudoclasses)是选择符的螺栓,...
    99+
    2023-07-04
  • CSS伪类和伪元素的区别是什么
    这篇文章主要讲解了“CSS伪类和伪元素的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS伪类和伪元素的区别是什么”吧!首先,阅读 w3c 对两...
    99+
    2024-04-02
  • css伪类和伪对象的区别是什么
    本文小编为大家详细介绍“css伪类和伪对象的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“css伪类和伪对象的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。伪类是用于向某些选择器添加特殊效果...
    99+
    2023-07-04
  • css中哪个属性是伪类
    这篇文章主要介绍了css中哪个属性是伪类,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css中的伪类是用来定义元素的特殊状态的,它可以用于设置鼠标悬停在元素上时的样式,设置元...
    99+
    2023-06-15
  • CSS中的伪类与伪元素二者间的区别是什么
    本篇内容介绍了“CSS中的伪类与伪元素二者间的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CS...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作