這次帶給大家怎樣高效的使用CSS選擇符,高效使用CSS選擇符的注意事項有哪些,下面就是實戰案例,一起來看一下。
最初寫CSS的時候,覺得很簡單,寫得天馬行空。後來慢慢的發現,沒有規則的瞎寫,雖然也能實現效果,但是在實際開發中可能會多做無用功或是重複做功,並且CSS並不高效。於是後期開發時就特意按照一定的規則,盡可能的寫出高效的,可復用的CSS,總結一下,主要是以下幾個方面。
先看一小段CSS 程式碼:
#menus > li { font-size: 14px; }
#可能大家都會猜想瀏覽器會使從左到右符合上面的規則,我們會想像瀏覽器先找到唯一的id 為menus 的元素,然後把樣式套用到其直系元素li 元素上。這看起來好像還蠻有效率的。
但是,事實上,CSS 選擇符是從右到左進行匹配的。所以,上面的這條規則並不高效,瀏覽器必需遍歷頁面上的每個 li 元素並確定其父元素的 id 是否為 menus。
樣式系統從最右邊的選擇符號開始向左符合規則。只有目前選擇符的左邊還有其他的選擇符,樣式系統就會繼續向左移動,直到找到和規則相符的元素,或因為不符而退出。
寫高效能的CSS選擇符有以下常用規則:
#一、避免使用通配規則
#除了傳統意義上的通配選擇符之外,我們把相鄰兄弟選擇符、子選擇符、後代選擇符合屬性選擇符都歸納到通配規則分類下,建議只使用ID、類別和標籤選擇符。
二、不要限定ID 選擇符
在頁面中一個指定的ID只能對應一個元素,所以沒有必要增加額外的限定符。例如,p#header是沒有必要的,應該簡化為#header。
三、不要限定類別選擇符
不要用具體的標籤限定類別選擇符,而是依照實際情況來擴充類別名稱。例如,把li.chapter改成.li-chapter,或是.list-chapter比較好。
四、讓規則越具體越好
不要試圖寫像ol li a 這樣的長選擇符,最好是創建一個像.list-anchor一樣的類,並把它加到適當的元素上。
五、避免使用後代選擇符
通常處理後代選擇符的開銷時最高的,而使用子選擇符也可以獲得想要的結果,並且更加高效。
六、避免使用標籤—子選擇符
如果有像#menus > li > a這樣的基於標籤的子選擇符,那麼應該使用一個類別來關聯每個標籤元素,例如.menus-item。
七、質疑子選擇子的所有用途
檢查所有使用子選擇子的地方,然後盡可能用特定的類別取代它們。
八、依賴繼承
了解哪些屬性可以透過繼承而來,然後避免對這些屬性重複指定規則。例如,對列表元素而不是每個列表元素指定list-style-image。請參考繼承屬性的清單來了解每個元素的可繼承的屬性。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是怎樣高效的使用CSS選擇符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

了解如何通過Chris Coyier實施WordPress的Gutenberg編輯器來創建一個自定義Codepen塊,並為Sanity Studio提供預覽。

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中