前端技術棧的日益豐富,各位媛兄更多的是把技術專一點放在了JavaScript與框架上,對CSS有深刻探究的少之又少,不知作別的公司什麼樣,咱們部門關於寫HTML+CSS的,直接就會丟給公司的實習生來完成,寫的說不上好,但也不算差,沒有什麼亮點,並且CSS寫的也不是那麼規範,很不利於後期的維護與修改,今天咱們就來聊一聊CSS代碼上的一些規範,你能夠不親自去寫CSS,可是在指導新人的時候還能裝一把大牛不是。css
精簡扼要地對class
命名,請勿使用自定義縮寫。html
class name
的命名必須是行爲、有語意的。前端
!important
!important
會形成權重混亂而沒法維護。移動設備的高度是無限的,寬度是有限的。bootstrap
請不要把寬寫死。瀏覽器
img
請讓它自動縮放請不要替img
的容器設定寬或高,讓它根據設備自行縮放。 請使用bootstrap
的img-responsive
。 若是確實要用:bash
width: 100%;
height: auto;
複製代碼
若是要給img border-radius
設定樣式,請使用父元素控制行爲,保持img
只載入圖片,沒有樣式。微信
請不要花不少時間在寫media query
,設定一堆breakpoint
,本身寫組件樣式,本身控制每種設備上的容器寬度。網絡
請使用grid system
,這些都是已經成熟的框架,並且有些也已經幫你處理了瀏覽器相容問題。前端工程師
over write
或在本來框架的class
增長內容直接寫一個新的class
,不要覆蓋原有的設計。框架
不要再已有的class
上添加樣式,請額外單獨寫一個。
設計師的設計順序,以桌面版優先,再設計手機版。
前端工程師拿到視覺圖,開始寫HTML/CSS
時以手機版爲第一優先。
手機開啓網頁很吃手機效能和網絡情況,前端工程師一開始就以手機版爲優先,可讓HTML一開始載入,使用最少的效能快速載入網頁。當開始製做桌面版時,只會少量跑版,作適當微調便可。
相反,若是先製做桌面版,當手機版畫面被切掉或是跑版,須要花更多時間去調整。
再來是iPhone手機的retina,會將圖片放到手機上時自動作兩倍縮小,在一開始製做時便可發現圖片載入是否吃效能。爲了讓圖片能在iPhone上有更好的體驗,建議移動版優先。
html tag selector
html tag
。element
時不要把一堆東西所有寫在裏面,請把排版相關的獨立出來border-radius
寫在img
上面,請把img
保持乾淨。定位,例如position: absolute
;請注意若是要none
掉一些樣式,請依照使用程度決定。
使用程度遍及整個網站,請直接使用reset.css
使用程度中等如下,請定義一個class
常見的a tag
不要有underline
list
消除原有樣式
請在reset.css
上定義,而且設爲第一載入次序
class
能夠爲命名加入name space
#js-project-show {}
複製代碼
br hr tag
br
是換行,請使用在p tag
裏面,當p
裏面文字過多時可使用。hr
是快速劃線,可是即將被淘汰,請直接使用border
寫在class
裏面。br
必須去思考父區塊是否是display: block
;,若是要換行,應該思考是否是下一段文字。border
去寫。