搜索

查看: 3201|回复: 11

[JavaScript] JavaScript前端中的伪类元素before和after使用详解

[复制链接]
发表于 2023-5-4 11:51:24 | 显示全部楼层 |阅读模式
Editor 2023-5-4 11:51:24 3201 11 看全部
目录
  • 1.基本用法
  • 2.样式修改
  • 3.清除浮动
  • 4.content属性
  • 1、string
  • 2、attr()
  • 3、url()/uri()
  • 4、counter()before/after伪类相当于在元素内部插入两个额外的标签,其最适合也是最推荐的应用就是图形生成。在一些精致的UI实现上,可以简化HTML代码,提高可读性和可维护性。
    效果使用:

    202302211127178.png

    JavaScript前端中的伪类元素before和after使用详解7079 作者:Editor 帖子ID:2774 论坛知鸟论坛_zn60.com


    202302211127179.png

    JavaScript前端中的伪类元素before和after使用详解3180 作者:Editor 帖子ID:2774 论坛知鸟论坛_zn60.com


    像这种小图标大多使用before,after来实现,不仅简单还方便。

    1.基本用法
    :before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:
    #example:before {
        content: "#";
        color: red;
    }
    #example:after {
        content: "$";
        color: red;
    }
    这两个伪类都属于内联元素,但是用display:block;属性可以将其转换成块状元素,比较常见的用法就是样式的一些实现,还有就是清除浮动的效果。。

    2.样式修改
    代码如下所示:

        打老虎
    .quote:before,.quote:after{//用这两个伪类实现样式渲染
         content:"";
         display:inline-block;
         width:5%;
         margin:5px 1%;
         border-bottom:1px solid blue;
    }

    3.清除浮动
    代码如下所示:

       
       
    parent2
    //css代码
    .son1{
         width:300px;
         height:200px;
         background-color: lightgray;
         float:left;
    }
    .son2{
         width:300px;
         height:100px;
         background-color: lightblue;
         float:left;
    }
    .parent2{
         width:400px;
         height: 400px;
         background-color:blue;
         color:#fff;
         text-align:center;
         line-height:400px;
         font-size:30px;
    }
    如果在上面代码中加上这段代码用来清除浮动则会达到不一样的效果:
    .parent:after{
         content:"";
         display:block;//设为块状元素
         clear:both;   //用这个属性来清除浮动
    }
    ::before和::after下特有的content,用于在css渲染中向元素逻辑上的头部或尾部添加内容。
    这些添加不会出现在DOM中,不会改变文档内容,不可复制,仅仅是在css渲染层加入。
    所以不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容,例如图标。
    注意:在使用before和after时content必不可少。
    注意:在使用before和after时content必不可少。
    注意:在使用before和after时content必不可少。

    4.content属性
    ::before和::after必须配合content属性来使用,content用来定义插入的内容,content必须有值,至少是空。默认情况下,伪类元素的display是默认值inline,可以通过设置display:block来改变其显示。
    content可取以下值。

    1、string
    使用引号包一段字符串,将会向元素内容中添加字符串。如:a:after{content:""}


    p::before{
        content: "《";
        color: blue;
    }
    p::after{
        content: "》";
        color: blue;
    }
    平凡的世界

    2、attr()
    通过attr()调用当前元素的属性,比如将图片alt提示文字或者链接的href地址显示出来。

    a::after{
        content: "(" attr(href) ")";
    }
    starof

    3、url()/uri()
    用于引用媒体文件。
    举例:“百度”前面给出一张图片,后面给出href属性。

    a::before{
        content: url("https://www.baidu.com/img/baidu_jgylogo3.gif");
    }
    a::after{
        content:"("attr(href)")";
    }
    a{
        text-decoration: none;
    }
    ---------------------------

    百度
       

    4、counter()
    调用计数器,可以不使用列表元素实现序号功能。
    配合counter-increment和counter-reset属性使用:
    h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }

    body{
        counter-reset: section;
    }
    h1{
        counter-reset: subsection;
    }
    h1:before{
        counter-increment:section;
        content:counter(section) "、";
    }
    h2:before{
        counter-increment:subsection;
        content: counter(section) "." counter(subsection) "、";
    }
    ------------------------------------------------

    HTML tutorials
    HTML Tutorial
    XHTML Tutorial
    CSS Tutorial
    Scripting tutorials
    JavaScript
    VBScript
    XML tutorials
    XML
    XSL
       
    到此这篇关于JavaScript前端中的伪类元素before和after使用详解的文章就介绍到这了,更多相关JS before和after内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持知鸟论坛!
  • 发表于 2023-6-29 04:09:00 | 显示全部楼层
    素色流年783 2023-6-29 04:09:00 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-29 17:28:22 | 显示全部楼层
    贺老师 2023-6-29 17:28:22 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    发表于 2023-6-29 23:55:38 | 显示全部楼层
    123456868 2023-6-29 23:55:38 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    发表于 2023-6-30 01:55:05 | 显示全部楼层
    塞翁364 2023-6-30 01:55:05 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    发表于 2023-6-30 05:06:40 | 显示全部楼层
    尘埃416 2023-6-30 05:06:40 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    发表于 2023-6-30 09:17:36 | 显示全部楼层
    永远爱你冰塘 2023-6-30 09:17:36 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    发表于 2023-6-30 16:30:03 | 显示全部楼层
    幸福341 2023-6-30 16:30:03 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛。
    发表于 2023-6-30 17:45:12 | 显示全部楼层
    执着等待等wc 2023-6-30 17:45:12 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-30 17:47:21 | 显示全部楼层
    老橡树1 2023-6-30 17:47:21 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    • 您可能感兴趣
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| 小黑屋| 知鸟论坛 |网站地图
    本站资源来自互联网用户收集发布,如有侵权请邮件联系处理。 联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表