模塊化css是指把頁面分割成不一樣的組成部分,這些組成部分能夠在多種上下文中重複使用,而且互相之間沒有依賴關係。當咱們須要變動樣式時不會影響到其它部分。css
默認的樣式,是對單個元素選擇器(包括其屬性選擇器,僞類選擇器,孩子/兄弟選擇器)的基礎樣式設置,例如html, body, input[type=text], a:hover, etc.推薦個base庫-normalize.css,它消除了不一樣瀏覽器渲染的不一樣html
html, body { margin: 0; padding: 0; } input[type=text] { border: 1px solid #999; } a { color: #039; } a:hover { color: #03C; }
頁面拆分爲不一樣的模塊,給這些模塊編寫獨立樣式,模塊與子模塊之間通常如下橫線鏈接瀏覽器
//下拉 .dropdown, .dropdown > ul { display: inline-block; border: 1px solid #283AE2; } .dropdown li:hover { background-color: #999; } //media .media{padding:30px;background-color:#eeeee}; .media_title{ font-size:16px; font-weight:bold }
對一個模塊進行修飾,通常以雙橫線相連。下面以button模塊爲例ide
.btn{ padding: .3em 1em; font-size: 14px; outline: none; color: #333333; cursor: pointer; border: 1px solid #eee } .btn--small{ font-size: 12px; } .btn--large{ font-size: 16px; }
狀態類通常以is-或者has-開頭,這樣的狀態類通常來描繪模塊當前狀態下的一些特徵。好比is-expanded、is-loading或者has-error模塊化
//input input.is-error{ color:red } //tab .tabs { border: 1px solid #e8e8e8; } .tabs > .tab{ color:#333333; border:none; } .tabs > .tab.is-active { border-bottom: 1px solid red; color: #29A288; }
有時候咱們須要一個類來作一件簡單的事,好比讓文字居中,讓元素顯示,隱藏,左浮動等工具
.text-align{ text-align: center!important; } .float-left{ float: left!important; } .show{ display: block!important; } .hide{ display: none!important; }
這裏用到了important,由於咱們在使用這些工具類時確定是爲了它的樣式,因此要把優先級提到最高,防止覆蓋字體
好比header和footer都有button,可是header中的是紅色字體,那麼咱們不能寫header .btn這樣的類,而是應該給button增長修飾類btn--danger網站
.header .btn{ color:red }//錯誤寫法 .btn--danger{ color:red }//正確寫法