百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

9个小细节帮你优化CSS代码

myzbx 2025-01-18 22:35 15 浏览

前言:

网站加载缓慢,除了后端、JS与CDN背锅外,CSS也有可能是其中之一。虽然影响性质可能小于前面几位大佬,但是为了提高整体体验,还是很有必要了解的。


1.减少不必要的高消耗属性box-shadowborder-radiusposition: fixedtransform:nth-childfilter

上述几个CSS属性对性能要求相对较高。单页面少数使用不会产生影响。

当单页面罗列大量数据(几百条),且均涉及到上述部分样式,整体CSS渲染压力就会产生较为明显的差异,所以建议针对场景谨慎使用。


2.减少重复样式代码

多个元素或选择器需要相同CSS属性时,建议通过逗号组合相关选择器统一声明样式,避免单独重复声明。

优化前

.header {
    color:#6d6d6d;
    margin: 10px 0;
    text-align: center;
}
.footer {
    color:#6d6d6d;
    margin: 10px 0;
    text-align: center;
}

优化后

.header, .footer {
    color:#6d6d6d;
    margin: 10px 0;
    text-align: center;
}


3.简化选择器

设置HTML元素的方法有很多种,复杂的CSS选择器可以有多层级,但是这往往也会增加解析的耗时。降低选择器的复杂度可以减少浏览器解析的负载同时也能增加代码简洁增加可读性。当然也可以结合实际场景进行判断需求。

优化前

.header>div.header-navigation ul li .option {
    color:#6d6d6d;
    text-align: center;
}

优化后

.header .option {
    color:#6d6d6d;
    text-align: center;
}


4.避免使用 !important

当HTML元素存在多个重叠的样式时,除非不得不用,尽量避免通过 !Important 提升某一个样式的优先级。

添加 !Important CSS声明将覆盖掉其他对应的样式声明,如果CSS的规则中 !Important 太多,浏览器就必须对代码进行额外的检查,这可能会降低页面的加载速度。所以,尽量避免使用 !Important 。在很多情况下我们是可以通过选择器来实现样式重写的,除非是想要对第三方库的CSS进行重写。


5.使用CSS特效与SVG替代图片

图片资源相对较大,需要更多的加载时长,页面大量使用图片容易增加页面渲染的负担,虽然现阶段CDN、OSS等技术可以极大程度降低图片的渲染负载,但是还是把需求留给刚需吧,类似渐变、几何图形、边框、按钮等效果可以尽量使用CSS样式实现,甚至也可以使用SVG来替代PNG或者JPG图片。


6.压缩CSS

通过压缩CSS可以减少CSS文件中不必要的空白与换行从而减少文件大小。提升CSS的加载效率,降低加载时长。


7.使用0替换0px

当属性值为0是可以忽略单位。

写单位是没错的,只是当大型CSS文件中,往往存在较多属性值0的样式,忽略单位也可以减少一定的文件大小。

优化前

.header {
    margin: 10px 0px 10px 0px;
}

优化后

.header {
    margin: 10px 0;
}


8.尽量使用十六进制来指定颜色

设置颜色色值时使用颜色名称,浏览器需要额外消耗进行识别名称对应的十六进制,同时不同的浏览器识别的效果可能也存在差异,因此使用十六进制可以更精准,也更减少浏览器消耗。

优化前

.header {
    color: red;
}

优化后

.header {
    color: #ff0000;
}


9.使用 link 代替 @import

@import 规则主要用于导入资源或者CSS文件。它会阻止其他文件并行下载,并可能会导致网站速度变慢。

在HTML中用 <link> 标签代替 @import,可以并行加载CSS文件,避免等待。

优化前

@import url("header.css");
@import url("slider.css");
@import url("content.css");
@import url("footer.css");

优化后

<link rel="stylesheet" href="header.css">
<link rel="stylesheet" href="slider.css">
<link rel="stylesheet" href="content.css">
<link rel="stylesheet" href="footer.css">

相关推荐

为什么钟表的指针是从左向右顺时针转?

所有的钟表指针都是从左向右转的,所以我们就用它来表示旋转方向了。那么,为什么钟表都是从左向右转呢?正着转也好,反着转也好,一圈不都是12小时吗?这就要从钟表的前身说起了。在钟表出现之前,人们使用过一种...

牛人将电子钟改造高精度时钟,日误差0.26秒!解决走时不准通病

家里有好多个电子钟,精度各种参差不齐,然后走时就是各种混乱,是可忍孰不可忍……自打发现8025这个好玩意儿之后,就决定不忍了。第一个上场的聪明钟,为啥叫聪明钟然后还走的不准。三节电池供电,其中3V给主...

篮球裁判手势图解之计时钟、得分替换和暂停手势

▋篮球裁判手势图解之计时钟手势停止计时钟手势,伸开手掌,垂直举过头部。犯规停止计时钟手势,一拳握紧,垂直举过头部。计时开始手势,用手做劈柴动作,将垂直举过头部的手放下。▋篮球裁判手势图解之得分手势1...

罗马数字的起源与用途

一、罗马数字的诞生与进化罗马数字起源于古罗马帝国,拥有一个漫长而复杂的历史,始于公元前8世纪至9世纪,与古罗马帝国在帕兰丁山(PalantineHill)周围建立的时间大致相同。不过,罗马数...

基于 Arduino Nano R3 的红外遥控数字时钟

由于在ArduinoNano上没有足够的引脚来编写代码,该项目只有有限的功能(即使没有设置时间的设施)。通过添加红外线遥控器,我可以灵活地整合所有需要的功能(如果需要,可能会更多),不需要额外的...

大班必备33首数字歌,轻松学数学

适合大班宝贝的33首数学歌,让孩子们在玩中学,通过好玩、好记的的儿歌来了解数学的知识点,轻松学数学!以上所有有关数学概念的知识点,其中包含了钟表、点数、分解组成、加减、单双数、倒数正数、凑十、方位...

11的寓意和象征

在数字的王国里,每个数字都有其独特的内涵和象征意义。今天,我们将一起探索数字11的奥秘和象征意义。这个奇特的数字,不仅在我们的日常生活中扮演着重要的角色,而且在神秘主义和宗教中也占有的一席之地。首先,...

基于TM1637的数字时钟

方案介绍这个项目是一个原型,我将在我正在进行的其他数字时钟项目中使用。这是我计划在我的下一个数字时钟项目中使用的时间和闹钟设置机制的原型。我希望能给你提供到帮助。如果你想到任何改进,请告诉我。我会更乐...

【金龟子讲睡前故事】数字不见啦

“快做数学题!”妈妈大声吼邦邦。“啊,好烦呀!”邦邦回到屋里,对着数学练习册大声嚷嚷。考拉熊博士在邦邦的屋外听到邦邦的声音,自言自语说:“好像又在发脾气,我得去看看他。”考拉熊博士推门进去,只见邦邦大...

SE 最终幻想 35 周年,《FF7 重制版》破坏剑数字时钟 9 月发售

IT之家3月9日消息,SE今日正式开设了《最终幻想》35周年纪念网站,天野喜孝绘制官方LOGO公布!值得一提的是,索尼PlayStation游戏发布会即将于北京时间3月10...

谁说数字钟就是黑白状?他们让你改变看法

如果我们没有了钟表,你会用什么衡量时间?是利用太阳的变化还是凭猜测?之前设计癖也介绍一些有趣的钟表,像是Edelkrone设计的无表针的Oqloq钟表,也有淡化了表针概念的轨道钟表,今天再给大...

杭州元宵游玩大赏|“人体时钟”亮相文三数字生活街区,还有元宵巡游活动等你嗨

钱江晚报·小时新闻记者方力通讯员冯晨晨刘静滴答滴答,在这个时钟里面有一位虚拟的“小姐姐”。她的工作内容就是不断地把分针擦掉,然后再画上新的分针,她每画一次分针擦干净后,再画上一条新的分针,就刚...

来用PPT做一只数字时钟动画

“什么是可见性?“可见性”即指PPT动画元素中的一种。在我们之前的图文教程《动画基础扫盲课,必修!》中提到过一些常用的PPT动画元素。分别为可见性,X,Y坐标,旋转,高度和宽度。而其中所谓的“可见性”...

4060+4013+74ls161数字电子时钟仿真电路图

苹果手机桌面时钟怎么显示 苹果手机桌面时钟显示操作

苹果手机系统流畅,系统使用起来很舒适,是很多人的首选。苹果时钟可以在桌面上显示数字时钟,如果在编辑主屏幕时,不小心把时钟删掉了,要怎么恢复呢?或者想要设置时钟显示,操作是什么样的呢?苹果手机桌面时钟怎...