CSS样式书写顺序

CSS样式还有书写顺序?

样式还有书写顺序?样式这么简单的东西,不是随便写写就行的么。很多初学者,甚至有一定工作经验的人都会发出这种疑问。而样式的书写顺序到底对页面有没有影响呢?答案是肯定的。如何写出好的css样式也是一个优秀的开发者必须要知道的!而且应该养成习惯,融入到开发中!好的习惯不是一点养成的。

为什么要注意书写顺序?

减少浏览器reflow(回流),提升浏览器渲染dom的性能

浏览器渲染原理

①:解析html构建dom树,解析css构建css树:将html解析成树形的数据结构,将css解析成树形的数据结构

②:构建render树:DOM树和CSS树合并之后形成的render树。

③:布局render树:有了render树,浏览器已经知道那些网页中有哪些节点,各个节点的css定义和以及它们的从属关系,从而计算出每个节点在屏幕中的位置。

④:绘制render树:按照计算出来的规则,通过显卡把内容画在屏幕上。

css样式解析到显示至浏览器屏幕上就发生在②③④步骤,可见浏览器并不是一获取到css样式就立马开始解析而是根据css样式的书写顺序将之按照dom树的结构分布render样式,完成第②步,然后开始遍历每个树结点的css样式进行解析,此时的css样式的遍历顺序完全是按照之前的书写顺序。

样式的书写顺序是如何影响网页的?

比如如下代码:

当浏览器解析到display的时候,突然发现元素是块级元素,而之前是按照行内元素渲染的!这个时候不得不回头重新渲染,在按照块级元素解析span标签。正确的做法是display写在样式最前面,一开始就以块级元素渲染span标签。

再看一个例子:

这个例子 解析到position的时候,突然发现该元素是绝对定位元素需要脱离文档流,而之前却是按照普通元素进行解析的,所以不得不重新渲染,而绝对定位是根据已经定位的父元素定位的,如果父元素的大小不一样,就会出现.box大小会重新改变的结果,使页面闪动。定位又是脱离文档流的,浮起来之后可能会影响其他元素排列布局。

一遍能过的非要渲染两遍 是很浪费性能的,大量的重绘页面会导致页面一闪一闪的,影响用户体验~

推荐的书写顺序是什么呢?

我们应该按照什么顺序来写样式呢?

(1)定位属性:

(2)自身属性:

(3)文字样式:

(4)文本属性:

(5)css3中新增属性:

更加细分

今天先分享这么多,如果大家喜欢的话我会再更新,正在学习WEB前端技术的小伙伴可以进群(618522268)一起交流学习,群里还有大量学习资料可供大家自行下载参看,欢迎大家一起来交流讨论。。

原文地址:https://www.cnblogs.com/gongyue/p/8962246.html

时间: 2024-08-09 21:53:35

CSS样式书写顺序的相关文章

Mozilla推荐的CSS属性书写顺序及命名规则

传说中的Mozilla推荐 Java代码   /* mozilla.org Base Styles * maintained by fantasai */ /* Suggested order: * display * list-style * position * float * clear * width * height * margin * padding * border * background * color * font * text-decoration * text-alig

css样式书写的问题

经常遇到前端的朋友问及css样式书写的问题,结合自己实际的工作,自己总结了整理了一下,给大家分享: 一.顺序问题:显示属性-位置属性-元素自身属性-文本属性-其他属性 1.显示属性:z-index.display.list-style 2.位置属性:position.float 3.元素自身属性:width.height.margin.padding.border.border-radius.background 4.文本属性:color.font-size.font-weight.font-f

整理推荐的CSS属性书写顺序

一. Mozilla 建议CSS规则 <span style="font-family:Microsoft YaHei;">/* Suggested order:    * display    * list-style    * position    * float    * clear    * width    * height    * margin    * padding    * border    * background    * color    * 

CSS 样式书写规范

CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3.文字系列(font, line-height, letter-spacing, color- text-align等)4.背景(background, border等)5.其他(animation, transitio CSS书写规范 使用CSS缩写属性 CSS有些属性是可以缩写的,比如paddin

CSS属性书写顺序

常用css样式中属性的书写顺序 一.position display float 二.盒子模型的属性 width , height , border , margin , padding 三.文字等相关属性 color, font, line-height, text-align, vertical-align, background 四.opacity, cursor

css样式覆盖顺序

0.样式位置分类 1)使用外部css文件 <link href="/static/css/main.css" rel="stylesheet"> 2)使用head中的style元素 <head> <style type="text/css"> .main{color:red;} </style> </head> 3)使用元素上的style <body style="col

[笔记]CSS样式声明顺序

来自Bootstrap中文网编程规范 相关的属性声明应当归为一组,并按照下面的顺序排列: Positioning Box model Typographic Visual .declaration-order { /* Positioning */ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; /* Box-model */ display: block; float: right; width:

前端开发--css属性书写顺序

css属性顺序是css良好编码风格的一部分,有助于提高代码可读性,便于发现代码问题,有利于团队合作.(依次排后) example { /*显示属性*/ display: ; visibility: ; float: ; clear: ; /*定位属性*/ position: ; top: ; right: ; bottom: ; left: ; z-index: ; /*盒模型属性*/ width: ; min-width: ; max-width: ; height: ; min-height

css属性书写顺序分析

我们直接从例子出发 @font-face { font-family: 'icomoon'; src: url('fonts/icomoon.eot?speta9'); src: url('fonts/icomoon.eot?speta9#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?speta9') format('truetype'), url('fonts/icomoon.woff?speta9') format('