国产探花免费观看_亚洲丰满少妇自慰呻吟_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等)

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭锦旗| 哈尔滨市| 江山市| 吉林省| 吐鲁番市| 桐庐县| 灌云县| 大姚县| 怀集县| 阿尔山市| 盐城市| 措美县| 大安市| 库车县| 石家庄市| 岗巴县| 信宜市| 绵阳市| 阳新县| 淮北市| 秀山| 慈利县| 玉田县| 苗栗市| 延寿县| 阳山县| 宾阳县| 兰考县| 贡嘎县| 平凉市| 大足县| 贵溪市| 南木林县| 团风县| 嘉义县| 景德镇市| 金湖县| 临猗县| 丹寨县| 灌云县| 黄大仙区|