大学解惑10 - CSS中的content怎么换行,以及使用before伪类的优点

news2025/2/23 7:35:11

大学解惑09 - 单独用HTML javascript CSS 实现三版99乘法表,你就是班里最靓的仔https://blog.csdn.net/xingyu_qie/article/details/127631612

        上一篇文章用前端HTML CSS JS基础写了3版99乘法表,有同学说终于把99乘法表写透了,但是紧接着就有同学反馈说,CSS的content老师没有讲到过,我怎么写就换不了行呢。

        本文属于答题系列,将会从以下三点说明,CSS中的伪类::before

                △ CSS ::before content的日常使用场景

                △ content的内容怎么换行

                △ 以及需要深入思考的 使用::before的优点,很多人可能都没有想到过这一点

目录

一、CSS中伪类::before的使用场景 

1、使用场景

2、::before的简单使用

二、 ::before内的content文字如何换行

三、采用::before的优点 

1、减少了HTML元素的使用

2、更利于浏览器缓存

3、 有助于代码的可读性与可复用性


一、CSS中伪类::before的使用场景 

        1、使用场景

                例如一行文字前有个小icon图标,我们一般的做法是先布局一个小图片,然后再使用行内元素紧接着填充文字

                

                再或者一行文字,前几个字是固定的,而后面的文字又是动态的,这本来也是需要前面布局一个HTML元素,填充“我们可以做到”,后面再紧接着填充动态文字的

                 

                 再比如我们经常可以看见的某电商平台在促销的时候,某个文字左上角顶着一个小图标,这些场景你都应该想到::before的使用

                

        2、::before的简单使用

                例如左上角可以放促销图标,你可以这样写:

        

<style>
  .hot-buy {
     margin: 50px;
     position: relative;
   }
  .hot-buy::before {
      position: absolute;
      left: -15px;
      top: -15px;
      width: 12px;
      height: 12px;
      content: url(aa.png);
  }
</style>

<div class="hot-buy">热门大促销</div>

         

        再例如刚才所说的,某一个元素前面想要填充固定文字,可以这样写:

<style>
  .hot-buy::before {
     content: "我们可以做到 ";
  }
</style>

<div class="hot-buy"> 始终如一的服务</div>

        可想而知,真实的HTML代码中并没有“我们可以做到”这样的字眼,而是在CSS代码中。

二、 ::before内的content文字如何换行

        这属于一个奇葩需求,本来content内的文字或者图标就希望保持简约,更利于实现,但需求总是各种各样,比如我们上一篇文章说到的CSS版99乘法表,就必须做到在content内换行。有同学跟我反馈说不换行,试了半天也不换行。

        由于content内存放的是字符串,采用 \a 或者 \A 做为换行符,注意这里大小写都可以。然后还要添加换行指令 white-space: pre; 代码就像这样:

<style>
    .hot-buy::before {
        content: "我们\A可以\A做到";
        white-space: pre;
    }
</style>

<div class="hot-buy"> 始终如一的服务</div>

三、采用::before的优点 

            如果初学者对于这些优点的解释感觉还有些不明所以,那么就先记下来,并且做为一个继续学习的问题,希望终有一天可以再回过头来看这个问题,可以找到比今天更多的答案。但如果你是即将要准备面试的,一定要记下来!!!

          1、减少了HTML元素的使用

        前端性能优化,非常重要的一个措施就是减少HTML标签的个数。这个很容易理解,比如A页面有100个元素,B页面有1000个元素,正常情况下,一定是A页面加载速度要快的。

        所以在本文中,通过::before伪类的方式,有效的减少了HTML元素的使用,属于一种最佳实践方案了

            2、更利于浏览器缓存

            对于HTML页面,浏览器一般情况下是不做缓存处理的,所以页面内的所有HTML元素每次刷新页面,都是需要重新渲染的,也叫重绘。

            但如果是引入的CSS文件,一旦加载过一次,浏览器就会将CSS文件缓存起来,那么下次用户再次访问页面,或者刷新页面的时候,CSS文件将不会从远程服务器去请求文件,直接从本地浏览器缓存读取了。

             而文本中将节省掉的HTML元素功能,用CSS实现以后,正好符合了这一点优化实践。

             3、 有助于代码的可读性与可复用性

                试想一下,有效的将HTML主要的业务功能保留到页面中,而那些固定的内容被分离出来,那么当别人需要读代码的时候,将更能够分清主次,利于业务代码的交接;

                而且在其他模块需要这段代码的时候,可以拷贝的内容更少,出现错误的概率大大减低。这无疑也是使用::before的一种小优势

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux关于JDK、Tomcat以及MySQL安装

目录 一、JDK安装 1、 上传jdk、tomcat安装包 2、解压两个工具包 3、配置环境 4、在配置文件中加入java环境变量&#xff1a; 5、保存&#xff0c;让新设置的环境变量生效 二、Tomcat安装 1、将tomcat解压到/opt下 2、配置环境变量 3、启动tomcat 4、创建启动脚本 三…

入门学习XSS漏洞,这一篇就够了

入门学习XSS漏洞&#xff0c;这一篇就够了1.XSS简介2.XSS的类型反射型XSS存储型XSSDOM型XSS1.XSS简介 XSS攻击&#xff0c;通常指黑客通过“HTML注入”篡改了网页&#xff0c;插入了恶意的脚本&#xff0c;从而在用户浏览网页时&#xff0c;控制用户浏览器的一种攻击。在一开始…

【沐风老师】怎么在3DMAX中使用MAXScript脚本动画编程?

大家可能对3dmax都抱有很浓厚的兴趣,但如果你接触到max脚本(MAXScript),你会觉得它比max本身更让人着迷,因为它更能拓展我们的想象力,或者帮助我们更好的提高工作效率。不过,MAXScript是解释语言,不适合编写过于复杂的功能,因为这将大大影响执行的速度。 言归正传,就…

jmeter模拟多IP访问

1. 前言&#xff1a; 今天一同事在压测时提到怎么用jmeter里虚拟多个ip来发送请求&#xff0c;我想了一下以前用LR时用过虚拟ip地址&#xff0c;jmeter还没有使用过。想着原理应该是相通的&#xff0c;既然LR都能支持的话&#xff0c;那Jmeter应该也是支持&#xff0c;于是就有…

ARM pwn 入门 (1)

最近笔者刚刚加入了一个项目组&#xff0c;需要用到ARM架构的东西&#xff0c;和ARM pwn也有一定关系&#xff0c;因此一不做二不休&#xff0c;决定开始学习ARM pwn&#xff0c;顺便熟悉项目前置知识&#xff0c;一举两得。 ARM与x86分属不同架构&#xff0c;指令集不同&…

用frp搞个内网穿透

使用场景&#xff1a; 在公司用电脑敲代码&#xff0c;环境都是localhost&#xff0c;有时候你要接第三方接口比如支付、或者企业微信的事件回调等&#xff0c;都需要一个公网地址&#xff0c;因为这时候是开发阶段&#xff0c;你即想要公司电脑上运行的环境又想要回调能找到你…

2022年首家民营征信机构浙江同信获企业征信备案公示

2022年首家民营征信机构浙江同信获企业征信备案公示 2022年11月1日&#xff0c;中国人民银行杭州中心支行公示了浙江同信企业征信服务有限公司企业征信机构备案&#xff0c;该机构为浙江省进行备案公示的第九家机构。其他八家分别为芝麻信用管理有限公司、浙江有数数智科技有限…

Transform介绍(1)

文章目录1. transform 方法2. transform 增量模式3. 注册 Transform使用Transform的常见场景有埋点统计、耗时监控、方法替换 通过上图以我们了解下transform的作用&#xff0c;transform在 class 到 dex 之间工作&#xff0c;处理包括 javac 编译后的字节码文件&#xff0c;每…

【Linux内核系列】进程调度

目录 一、为什么要调度 二、调度均衡 三、进程调度框架 3.1 调度队列 3.2 进程唤醒 3.3 调度时机 主动调度&#xff1a; 被动调度&#xff1a; 四、调度算法 4.1 先来先服务调度算法 4.2 最短作业优先调度算法 4.3 高响应比优先调度算法 4.4 时间片轮转调度算法 …

洛谷千题详解 | P1007 独木桥【C++、Pascal语言】

博主主页&#xff1a;Yu仙笙 专栏地址&#xff1a;洛谷千题详解 目录 题目背景 题目描述 输入格式 输出格式 输入输出样例 解析&#xff1a; C源码&#xff1a; Pascal源码&#xff1a; ------------------------------------------------------------------------------------…

NFT 推荐|辛迪加黑市系列第一弹

由 Planet Rift 呈现&#xff01; 塞巴星球的辛迪加已经洗劫了政府&#xff0c;现在是时候揭开补给品的神秘面纱了&#xff01; 辛迪加黑市系列的第一弹包括 30 个由 Planet Rift 宇宙设计的资产。其中首次发售的包含 4 套未来风格的盔甲、3 台彩色自动售货机和其他装备。 别忘…

项目管理之项目干系人

目录 前言 一、项目干系人的重要性 二、项目干系人管理过程 三、识别干系人 1.识别干系人的概念定义 2.识别干系人的输入 3.干系人分类模型 4.识别干系人的工具与技术 5.识别干系人的输出 四、规划干系人管理 1.规划干系人的输入 2.规划干系人的工具与技术 3.规划…

电脑蓝屏是哪里出了问题?不一定要非要重装系统

电脑蓝屏是非常常见的电脑故障现象&#xff0c;导致电脑蓝屏的原因很多&#xff0c;很多人第一时间反应可能是给电脑重装系统&#xff0c;但是有时并不能解决问题。那么电脑蓝屏是哪里出了问题呢&#xff1f;其实导致蓝屏不一定是系统故障&#xff0c;还有很多情况也会出现蓝屏…

Python3,爬虫有多简单,一个库,一行代码,就OK, 你确定不来试试?

爬虫进阶库&#xff1a;Scrapeasy1、 引言2、Scrapeasy2.1 简介2.1.1 Scrap2.1.2 Scrapeasy2.2 安装2.3 代码示例3、总结1、 引言 小屌丝&#xff1a;鱼哥&#xff0c; 我最近在练习写爬虫&#xff0c; 你有没有什么便捷的方式… 小鱼&#xff1a;比如呢&#xff1f; 小屌丝&a…

公众号网课查题接口

公众号网课查题接口 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击…

【C】自定义类型(二)位段,枚举,联合

&#x1f648;个人主页&#xff1a; 对de起日子 &#x1f449;系列专栏&#xff1a;【C语言–大佬之路】 &#x1f388;今日心语&#xff1a;谨慎的选择自己的生活&#xff0c;不要轻易让自己迷失在各种诱惑里。 前一章我们介绍了结构体&#xff0c;这一章我们来介绍一下内容&a…

大猩猩优化算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑…

springboot:整合其它项目

目录 一、集成Druid application.yml 二、集成redis之非注解式开发 pom.xml application.yml RedisConfig ClazzBizImpl.java 三、集成redis之注解缓存开发 RedisConfig RedisConfig 一、集成Druid 在昨天的基础上 参考网址 https://github.com/alibaba/druid/tre…

C---指针

目录指针偏移问题&#xff1a;为什么用指针&#xff1f;1.强制给指针选地址&#xff1a;2.交换两个变量的值指针与数组1.指针数组&#xff1a;数组中的每一项都是个指针2. 指针数组的用法数组指针&#xff1a;一个指向数组的指针函数指针&#xff1a;malloc内存泄露&#xff08…

洛谷千题详解 | P1005 [NOIP2007 提高组] 矩阵取数游戏【C++、 Java、Python语言】

博主主页&#xff1a;Yu仙笙 专栏地址&#xff1a;洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析&#xff1a; C源码&#xff1a; Java源码&#xff1a; Python源码&#xff1a; ----------------------------------------------------------------------…