CSS規則層疊的應用 css必須要注意的幾點_經驗交流
理論基礎是必要的,實踐是提升和理解理論的方法,兩者同樣重要,任何設計和開發人員離開這兩者的平衡,不論偏向哪一方,都會範或左或右的錯誤。不過我所講的這個方法在實際應用上到底有什麼用呢。顯然,它不能夠為我們創造出圓角矩形,也不能夠為我們創造出分列佈局,更不可能給我們一個固定在文件頭部的導覽列。這個演算法的實踐應用在於: 良好的css程式規範 。這是一個宏觀的實踐,與我剛才提到的微觀實踐同樣重要,但卻更難掌握。
本文並不想包含所有的良好的css程式設計規範,也不可能,我所能夠提供的也只是我個人編寫css的規範小結,我想這些規範是盡可能靠近css的運作本質的。
不要使用inline css
user style不在你的掌控之內
不要使用important規則
按照特殊性從低到高編寫css
前三條不是我說的重點,我將一筆帶過。
inline css的特殊性是最高的,如果你css檔案中的屬性與inline css衝突,那麼你css檔案中的屬性無效,這和我們僅在css檔案中對樣式進行debug的習慣不符。 inline css也是醜陋的,它將樣式插入html文檔,所以應放棄使用inline css。
如果使用者將user style設定為important,那麼不論怎麼寫css規則,總是不能覆蓋使用者的important語句,所以試圖覆蓋所有的user style是徒勞的。高興的是我們不需要考慮這些了。
important規則是個異類,它不符合我們慣有的思維方式,不論我們如何增加css規則的特殊性和先後順序,important規則都將涵蓋與它競爭的規則,這也會打亂css規則的習慣規律,給debug帶來麻煩。如果你要 使用important規則來hack瀏覽器 ,那麼你應在一個指向唯一元素的selector中應用該規則。 (ps. hack應當是解決方法中最後考慮的一項,因為它長得太醜陋了。)
最後一點,如何做到按照特殊性從低到高編寫css?
關鍵在於 模組化css 。
新增全域css
新增目前頁面統一css
將頁面分成幾個模組
在每個不同模組上使用id掛鉤,相同模組上使用class掛鉤
新增每個模組的統一css
將每個模組分成幾個子模組,並且回到步驟4開始循環直到樣式新增完成。
寫出好的css是一個設計問題,而不是實作問題。我們首先應當將寫出特殊性非常低的全域css內容,也就是我們 常用的reset.css 。它是我們整個網站中所有頁面的預設樣式。
如果有哪個頁面具有獨特的統一樣式,如某一頁的背景與其他頁面不同,那麼我們可以為某一頁添加id,然後在id下編寫當前頁面的統一css。
body#special{ background-color:black; }
統一樣式寫好後,我們將頁面分成幾個模組,如果這些模組具有基本相同的樣式,那麼使用class掛鉤,如果樣式並非相同,那麼使用id掛鉤,以後每次分模組時都應遵循這項原則,因為class的特殊性不高,所以如果不是看起來顯然類似的模組,就不應當使用class。 id的名字通常可以模組的用途作為名字。如 head 、 bottom 等。 id selector在層疊中起了關鍵作用,因為id具有排他性,也具有較高的特殊性,能夠防止css規則被不經意的覆蓋。
在某個模組中我們可能有一些統一css,那麼我們就需要在使用id selector來寫目前模組下的統一樣式。
#head p{ color:red; }
新增class掛鉤時,我建議使用父模組(或頁面本身)的id在作為class名稱的第一部分。如果我新增一個獨立的頁面(body#special),那麼為該頁面分好模組後,我應當將該頁的模組命名為 special_head 、 special_bottom 等。
或在某些頁面模組中使用class掛鉤時應使用 head_col 等。這樣做的好處是我們不用使用
#head .col{ /* 头部中每一列的样式 */ }
而可以直接使用
.head_col{ /* 头部中每一列的样式 */ }
而不用擔心命名衝突。
而對於模組下直接加入了id selector的元素,我們可以直接使用該selector,並且也在其名字前面加上父模組的id。
#head_navigator{ /* 头部中导航栏的样式 */ }
要做到模組化css我們應盡量防止跨模組的css出現,我想一條好的原則是:如果某一樣式的跨模組特性不是你一目了然的,那就不要使用跨模組的css。一個例外是全域css或模組內的統一css。而對於那些並非一目了然的,並非具有統一樣式的,建議在每個子模組下分別定義。這就像是編寫java程式中的物件導向的設計一樣,我們要降低模組之間的互相依賴,使得相同模組的css規則在一起,略有不同的就完全分開,這樣不但易於維護,還能夠保證特殊性從低到高地編寫css,從而防止css規則被意外的覆蓋
以上就是css規則層疊的應用css必須要注意的幾點_經驗交流的內容,更多相關內容請關注php中文網(www.php.cn)!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-
