在使用CSS
進行佈局和設計時,全部的HTML
元素均可以看做一個盒子模型,包括外邊距(margin
)、邊框(border
)、內邊距(padding
)、實際內容(content
)四個屬性。以下圖css
box-sizing: content-box
)與怪異(IE)盒模型(box-sizing: border-box
)的區別:前者content
的寬度/高度不變,後者的content
的寬度/高度把padding
和 border
部分也計算進去。text-align: center
margin: 0 auto
;position: relative
,元素設left: 0
;right: 0
;margin: auto
;flex-box
佈局,指定justify-content: center
;display
設置爲tabel-ceil
;display: flex
佈局,用align-item: center
實現;top: 0
和bottom: 0
,margin: 0 auto
實現;top:50%
,margin-top
值爲高度一半的負值;line-height
爲height
值。flex佈局即彈性佈局,能夠經過display: flex
來設置一個彈性容器,容器內的子元素會根據設置的屬性進行排列;css3
經常使用的屬性:flex-direction
、flex-wrap
、flex-flow
、justify-content
、align-items
、align-content
。函數
詳見www.runoob.com/w3cnote/fle…工具
塊格式化上下文(Block Formatting Context,BFC)是Web頁面中盒模型佈局的CSS渲染模式。它決定了元素如何對其內容進行定位,以及與其餘元素的關係和相互做用,主要體如今浮動清除、浮動定位和阻止父子元素的margin
摺疊。佈局
建立規則:flex
根元素動畫
浮動元素(float
不取值爲none
)設計
絕對定位元素(position
取值爲absolute
或fixed
)code
display
取值爲inline-block
、table-cell
、table-caption
、flex
、inline-flex
之一的元素orm
overflow
不取值爲visible
的元素
經常使用的方法有:
overflow: hidden
或者overflow: auto
;<div class="clear"></div>
,經過CSS賦予clear: both
;clearfix
的class
,而後給這個class添加一個:after
僞元素實現元素末尾添加一個看不見的塊元素清除浮動。總結:要麼使用clear
屬性,要麼觸發浮動元素父元素的BFC,使父元素能夠包含浮動元素。
!important
> 行內樣式 > id
> class
> tag
> 通配符 > 系統默認;他們是CSS
預處理器。他是CSS
上的一種抽象層。他們是一種特殊的語法/語言編譯成CSS
。
例如Less
是一種動態樣式語言. 將CSS
賦予了動態語言的特性,如變量,繼承,運算, 函數. LESS
既能夠在客戶端上運行 (支持IE 6+, Webkit, Firefox
),也可一在服務端運行 (藉助Node.js
);
而Sass
是一款強化CSS
的輔助工具,它在CSS
語法的基礎上增長了變量 (variables
)、嵌套 (nested rules
)、混合 (mixins
)、導入 (inline imports
) 等高級功能,這些拓展令CSS
更增強大與優雅。使用Sass
以及Sass
的樣式庫(如 Compass
)有助於更好地組織管理樣式文件,以及更高效地開發項目。須要Ruby
環境
animation
是css3
新增的動畫屬性,這個css3
動畫的每一幀是經過@keyframes
來聲明的,keyframes
聲明瞭動畫的名稱,經過from
、to
或者是百分比來定義。