国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

幾個有益的CSS小知識(小結)

2024-07-11 08:37:30
字體:
來源:轉載
供稿:網友

前言

今天偷個懶,不長篇大論,分享幾個你可能不知道的 CSS 小知識。

樣式的順序

CSS 代碼:


.red
{
color: red;
}

.blue
{
color: blue;
}

HTML 代碼:


<div class="red blue">
這是什么顏色
</div>
<div class="blue red">
這是什么顏色
</div>

記得之前這是一道比較火的 CSS 考題,當時好像是有不少的人答錯(30% 以上)

答案你們應該是知道的。

可以這樣提升 CSS 性能

后代選擇器

樣式選擇器中間的空格是什么?它的名字是 —— 后代選擇器。


div p {
color:#3388ff;
font-size:14px;
}

后代選擇器或許會很耗性能

耗能與否取決于項目的體積,但不建議使用沒有意義的后代選擇器。例如:


.div p {
// ...
}

為什么會更消耗性能呢?

因為瀏覽器首先會找到所有 p 標簽,然后再向上查找包含 class 為 div 的元素。這樣一來如果 代碼中有很多 p 標簽,無疑是會做很多重復工作的。

所以可以減少使用 HTML 標簽來定義 CSS 的方式,換成使用具體的 class。

瀏覽器會從右到左解析 CSS 選擇器


.content_box div p a {
// ...
}

瀏覽器會對上面的例子做如下的步驟處理:

首先找到頁面所有的 <a> 元素
然后向上找到被 <p> 元素包裹的 <a> 元素
再向上查找到一直到 .content_box 的元素

從上面的步驟我們可以看出,越靠右的選擇器越具有唯一性,瀏覽器解析 CSS 屬性的效率就越高。

所以一定換成使用具體的 class 編寫 CSS 代碼。

避免 reflow 風險

我們知道修改某些 CSS 屬性會導致整個頁面布局的重繪( repaint )/重排( reflow )。

repaint 的速度遠快于 reflow,所以避免 reflow 更重要

導致 repaint 和 reflow 的原因

DOM 元素的添加、修改、刪除(repaint、reflow)
僅僅修改 DOM 元素的字體顏色(repaint,不需要調整布局)
應用新的樣式或者修改任何影響元素外觀的屬性(repaint、reflow)
resize,頁面滾動(repaint、reflow)
讀取元素的某些屬性(repaint、reflow)(offsetTop/Left/Width/Height、getComputedStyle、scrollTop/Left/Width/Height、clientTop/Left/Width/Height等)

如果在大量的元素上更改這些屬性,那么計算和更新他們的位置/大小需要花費很長的時間。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洞口县| 吉木萨尔县| 航空| 靖江市| 新兴县| 阳东县| 武宁县| 大埔县| 宝清县| 水富县| 朝阳市| 白山市| 枣庄市| 斗六市| 长葛市| 邹平县| 华蓥市| 绥宁县| 都安| 泸定县| 缙云县| 乌兰县| 旅游| 邹平县| 临桂县| 宝兴县| 巧家县| 织金县| 灵寿县| 福清市| 潮州市| 化州市| 彭州市| 桂平市| 景洪市| 洛宁县| 琼结县| 叶城县| 昌宁县| 子长县| 张北县|