綱要
- 計劃佈局,劃分總體結構
- 內容區域,從總體到局部,局部中的通用部分,根據上下文應用樣式
- 公共頭部(public-header)、尾部(public-footer)
- 公共容器(public-container/inner-center)
- css文件,html結構,多考慮
- 不要讓內聯元素與塊級元素處於同一級別下,如a標籤與div標籤
- reset.css、common.css、index.css
- 須要浮動的元素,父元素通通進行清理,給予統一的類clearfix
- 寬高度:使用偶數單位。
- 良好的代碼規範和命名
- 巧妙屬性和元素配合,還有沒有更好的方案
- 活用overflow,針對一些圖片、文字超出隱藏的狀況。
- text-overflow,超出的文字部分,省略號顯示。
a標籤能夠嵌套任何p,h,div等標籤(按照新的規範)通常見於同一組標題、圖片文字組合等連接同一個地方的,那麼大一塊地方都須要連接樣式去跳轉,這樣作比較方便。css
<a href="#" class="title">
<h4>Voluptate cillum fugiat.</h4>
<p class="comment">Cheese, tomato, mushrooms, onions.</p>
</a>
- 兼容和細節的處理(放大100%以上,才能看出端倪)
- 反思HTML結構是否合理
- 調試錯誤的時候,讓錯誤的視覺效果極大化,更容易看出問題。
- css Hack處理
總體結構
- page-content
- header
- section-feature(可增/刪)
- section-main
- section-postscript(可增/刪)
- footer
- 公共部分
or
- page-content
- header
- section-feature(可增/刪)
- section-name-1
- section-name-2
- ...
- footer
- 公共部分
- inner-center/public-container
section-main
無邊欄設計
section.section-main>.inner-center
左邊欄設計
section.section-main>.inner-center
aside.aside-left
main.main>.content
雙邊欄設計
section.section-main>.inner-center
aside.aside-left
main.main>.content
aside.aside-right
特定需求
固定寬度設計
.inner-center{
width: 980px;
margin-left: auto;
margin-right: auto;
}
全部寬度都以像素爲單位,這種佈局最簡便,適用於一些自己內容比較少的頁面。
不管瀏覽器窗口多大,它們的尺寸老是不變,沒法充分利用可用空間。此時可使用html
min-width: 980px
配合min-width
的使用,頁面部份內容如三欄佈局可使用百分比來設置寬度(流式佈局),實現當瀏覽器窗口寬度小於設計稿寬度時,容許出現橫向滾動條,頁面內容寬度保持不變,可是當瀏覽器窗口寬度大於設計稿寬度時,頁面內容的寬度保持和瀏覽器窗口寬度一致git
響應式設計
百分比設計
代碼規範
命名約定與應用
常見class關鍵詞
約定規則
- 關鍵詞間以中劃線
-
鏈接 以中劃線鏈接,如.item-img
- 使用兩個中劃線表示特殊化,如.item-img.item-img--small表示在.item-img的基礎上特殊化
- 狀態類直接使用單詞,參考上面的關鍵詞,如.active, .checked
- 圖標以icon-爲前綴(字體圖標採用.icon-font.i-name方式命名),詳情應用見CSS Icons,能夠下載參考Bootstrap的圖標語義命名。
- 模塊採用關鍵詞命名,如.slide, .modal, .tips, .tabs,特殊化採用上面兩個中劃線表示,如.imgslide--full, .modal--pay, .tips--up, .tabs--simple
- js操做的類統一加上js-前綴
- 不要超過四個class組合使用,如.a.b.c.d
- 一個類名,不要超過三個單詞的鏈接。
- 主體結構命名前加上該頁的命名,如index-banner,index-main。
實踐應用
經過添加前綴修飾關鍵詞web
public-header,article-header,index-banner,index-panel
經過層級關係特殊化類,通常子元素接着父元素的最後一個單詞(繼承式)瀏覽器
ul.card-list
li.list-item
a.item-img-link>img.item-img
h3.item-tt>a.item-tt-link
p.item-text
<ul>
<li>
<a href="#"><img src="" alt=""></a>
<h3><a href="#"></a></h3>
<p></p>
</li>
</ul>
參考資料