選擇器的類型:css
表明內聯樣式,如style="xxx",權值爲 1000;
表明 ID 選擇器,如#content,權值爲 100;
表明類、僞類和屬性選擇器,如.content、:hover、[attribute],權值爲 10;
表明元素選擇器和僞元素選擇器,如div、p,權值爲 1。佈局
須要注意的是:通用選擇器(*)、子選擇器(>)和相鄰同胞選擇器(+)並不在這四個等級中,因此他們的權值都爲 0。 權重值大的選擇器其優先級也高,相同權重的優先級又遵循後定義覆蓋前面定義的狀況。動畫
box-sizing屬性:設計
div設置了box-sizing:border-box以後,width的寬度是內容 + padding + 邊框的寬度(不包括margin),這樣就比較符合咱們的實際要求了。code
float被設計出來的初衷是用於文字環繞效果,即一個圖片一段文字,圖片float:left以後,文字會環繞圖片.
float 的破壞性 —— float 破壞了父標籤的本來結構,使得父標籤出現了坍塌現象。致使這一現象的最根本緣由在於:被設置了 float 的元素會脫離文檔流。其根本緣由在於 float 的設計初衷是解決文字環繞圖片的問題。你們要記住 float 的這個影響。orm
.clearfix:after { content: ''; display: table; clear: both; } .clearfix { *zoom: 1; /* 兼容 IE 低版本 */ } <div class="clearfix"> <img src="image/1.png" style="float: left"/> <img src="image/2.png" style="float: left"/> </div>
inline元素使用圖片
text-align: center
block元素使用文檔
margin: auto
絕對定位元素可結合left和margin實現,可是必須知道寬度。animation
.item { width: 300px; height: 100px; position: absolute; left: 50%; margin: -150px; }
inline 元素可設置line-height的值等於height值,如單行文字垂直居中:it
.container { height: 50px; line-height: 50px; }
絕對定位元素,可結合left和margin實現,可是必須知道尺寸。
.container { position: relative; height: 200px; } .item { width: 80px; height: 40px; position: absolute; left: 50%; top: 50%; margin-top: -20px; margin-left: -40px; }
絕對定位可結合transform實現居中。
.container { position: relative; height: 200px; } .item { width: 80px; height: 40px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: blue; }
絕對定位結合margin: auto,不須要提早知道尺寸,兼容性好
.container { position: relative; height: 300px; } .item { width: 100px; height: 50px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }
首先,使用@keyframes定義一個動畫,名稱爲testAnimation,以下代碼,經過百分比來設置不一樣的 CSS 樣式,規定動畫的變化。全部的動畫變化均可以這麼定義出來。
@keyframes myfirst { 0% {background: red; left:0; top:0;} 25% {background: yellow; left:200px; top:0;} 50% {background: blue; left:200px; top:200px;} 75% {background: green; left:0; top:200px;} 100% {background: red; left:0; top:0;} }
而後,針對一個 CSS 選擇器來設置動畫,例如針對div元素設置動畫,以下:
div { width: 100px; height: 50px; position: absolute; animation-name: myfirst; animation-duration: 5s; }