Home Web Front-end HTML Tutorial 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后,会出现如果页面比较大加载较慢,则用户一开始会看见未渲染的页面,直到页面加载完后才开始渲染。





Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

What are the best practices for cross-browser compatibility in HTML5? What are the best practices for cross-browser compatibility in HTML5? Mar 17, 2025 pm 12:20 PM

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

How do I use HTML5 form validation attributes to validate user input? How do I use HTML5 form validation attributes to validate user input? Mar 17, 2025 pm 12:27 PM

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

What is the viewport meta tag? Why is it important for responsive design? What is the viewport meta tag? Why is it important for responsive design? Mar 20, 2025 pm 05:56 PM

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

What is the purpose of the <iframe> tag? What are the security considerations when using it? What is the purpose of the <iframe> tag? What are the security considerations when using it? Mar 20, 2025 pm 06:05 PM

The article discusses the &lt;iframe&gt; tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Apr 04, 2025 pm 11:54 PM

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

See all articles