首页 web前端 html教程 CSS性能优化_html/css_WEB-ITnose

CSS性能优化_html/css_WEB-ITnose

Jun 24, 2016 am 11:37 AM

CSS的性能也会影响页面的请求数加载速度及渲染效率,总结CSS的性能优化主要有以下几方面:

一、CSS的文件大小压缩,主要对字节数进行压缩,CSS文件带大小会增加网络额外开销,尤其是访问量比较大的页面。主要方法有以下:

       1.减少CSS文件中空格等不必要的多余字符,语法上尽可能多的应用缩略写法(如 margin 10px;)。

       2.有点浏览器支持解压gzip格式的压缩文件,可设置服务器将相应文件压缩成gzip包。

二、对CSS进行结构上的抽离,拆分,必要时可应用按需加载的方式加载CSS文件,尽可能多的使用浏览器缓存

       抽离主要是抽离出共性的属性,将特性的属性拆分出去,每个页面都加载共性属性的文件,只在需要页面或者需要的时候加载特性文件,这样可以避免css文件结构庞大,逻辑混乱。但是有时候拆分会导致页面请求数增加,需要综合页面整体来考虑。

三、CSS语法上主要就是关注选择器的效率:

       分析选择器最根本的原则就是选择器的解析是从右到左解析。所以最右面的选择对性能的影响比较大,一般称为关键选择器。关键选择器越具体则速度越快:

       常见选择器的效率排序:

       ID选择器   > 类选择器  > 标签选择器(div h1) > 相邻选择器 (h1+p) >子选择器 ( ul>li )>后代选择器(li a ) >通配符>属性选择器( a[rel ="external"] ) >伪类选择器( a : hover)

       通用规则:

       1. ID 选择器前避免父选择器,ID选择器已经可以定位到精确的标签不需要再去筛选父类,如果需要加父类说明页面ID没有遵循唯一性。

       2.类 选择器前应避免父选择器,如果必须给类选择器前加上父选择器,说明类选择器的结构问题,最好对CSS进行重构。

       3.尽量避免使用后代选择器。后代选择器会一直遍历所有的父结点直到根结点,直到找到符合的标签,所以对性能消耗比较大

       4.子选择器的关键选择器应该尽量具体。

四、CSS文件位置最好放到head中,即在页面结构解析时,就可以进行页面渲染。如果放在body中或者body后,会出现如果页面比较大加载较慢,则用户一开始会看见未渲染的页面,直到页面加载完后才开始渲染。





本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

> gt;的目的是什么 元素? > gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

< datalist>的目的是什么。 元素? < datalist>的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

文章讨论了确保HTML5跨浏览器兼容性的最佳实践,重点是特征检测,进行性增强和测试方法。

< meter>的目的是什么。 元素? < meter>的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

视口元标签是什么?为什么对响应式设计很重要? 视口元标签是什么?为什么对响应式设计很重要? Mar 20, 2025 pm 05:56 PM

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

< iframe>的目的是什么。 标签?使用时的安全考虑是什么? < iframe>的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

See all articles