選擇器類型:css
id選擇器 ( # myid) 類選擇器 (.myclassname) 標籤選擇器 (div, h1, p) 相鄰選擇器 (h1 + p) 子選擇器 (ul > li) 後代選擇器 (li a) 通配符選擇器 ( * ) 屬性選擇器 (a[rel = "external"]) 僞類選擇器 (a:hover, li:nth-child)
瀏覽器的默認字體高都是16px。因此未經調整的瀏覽器都符合: 1em=16px。那麼12px=0.75em, 10px=0.625em。html
<div> <div id="left" style="float:left;width:100%; height:200px;background-color:red;"></div> <div id="right" style="float:left;margin-left:-100%;width:200px;height:200px;background-color:green;"></div> </div>
<div style="display:flex;"> <div id="left" style="flex-basis:200px;width:100%; height:200px;background-color:red;"></div> <div id="right" style="flex:1;height:200px;background-color:green;"></div> </div>
IE-Trident,Firefox-Gecko,Opera-Blink,Chrome-Webkit,Safari-Webkit
,360-兼容模式Trident
+極速模式Webkit
<div class="box"> <img src="http://img1.gtimg.com/nice_mb/08/1c/24769.jpg" /> </div> .box{ width:200px; height:200px; border:1px solid #06C; display:table-cell; text-align:center; vertical-align:middle; *font-family:simsun; *font-size:200px; } .box img{ vertical-align:middle; }
overflow:hidden
.parent{ overflow:hidden; }
<div class="parent"> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <div style="clear:both"></div> </div>
clearfix
.clearfix:after{ content:""; display:table; clear:both; }
#lamp{ width: 400px; height: 40px; background: #ff0000; } #lamp:hover{ animation: rotate 2s; -webkit-animation: rotate 2s; /* Safari and Chrome */ } @keyframes rotate { from {transform: rotate(0deg);} to {transform: rotate(180deg);} } @-webkit-keyframes rotate /* Safari and Chrome */ { from {transform: rotate(0deg);} to {transform: rotate(180deg);} }
content
),元素的內邊距(padding
),元素的邊框(border
),元素的外邊距(margin
)四個部分。a、b、span、img、input、strong、select、label、em、button、textarea
div、ul、li、dl、dt、dd、p、h1-h六、blockquote
br、meta、hr、link、input、img
//HTML結構: <div class="wrapper"> <div class="content"></div> </div> //CSS: .wrapper { position: relative; width: 500px; height: 500px; border: 1px solid red; } .content{ position: absolute; width: 200px; height: 200px; /*top、bottom、left和right 均設置爲0*/ top: 0; bottom: 0; left: 0; right: 0; /*margin設置爲auto*/ margin:auto; border: 1px solid green; }
補充:link和@import的區別web
二者都是外部引用CSS的方式,可是存在必定的區別:bootstrap
區別1:link是XHTML標籤,除了加載CSS外,還能夠定義RSS等其餘事務;@import屬於CSS範疇,只能加載CSS。瀏覽器
區別2:link引用CSS時,在頁面載入時同時加載;@import須要頁面網頁徹底載入之後加載。安全
區別3:link是XHTML標籤,無兼容問題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。服務器
區別4:ink支持使用Javascript控制DOM去改變樣式;而@import不支持。app
區別:ide
a. 優雅降級是從複雜的現狀開始,並試圖減小用戶體驗的供給佈局
b. 漸進加強則是從一個很是基礎的,可以起做用的版本開始,並不斷擴充,以適應將來環境的須要
c. 降級(功能衰減)意味着往回看;而漸進加強則意味着朝前看,同時保證其根基處於安全地帶
<img src="#" alt="alt信息" />
<img src="#" alt="alt信息" title="title信息" />
base,basefont,head,html,meta,param,script
和title
以外的全部標籤width + margin
(左右) + padding
(左右) + border
(左右)width + margin
(左右)(即width已經包含了padding和border值)box-sizing
border-radius、border-shadow、border-image
)之類的 。CSS Hack
。// 一、條件Hack <!--[if IE]> <style> .test{color:red;} </style> <![endif]--> // 二、屬性Hack .test{ color:#090\9; /* For IE8+ */ *color:#f00; /* For IE7 and earlier */ _color:#ff0; /* For IE6 and earlier */ } // 三、選擇符Hack * html .test{color:#090;} /* For IE6 and earlier */ * + html .test{color:#ff0;} /* For IE7 */
異向重疊問題:float:left
(只能解決IE6瀏覽器中的異向重疊問題,能夠解決IE8以上、chorme、firefox、opera
下的同向重疊問題)
absolute
生成絕對定位的元素,相對於static
定位之外的第一個父元素進行定位。fixed
生成絕對定位的元素,相對於瀏覽器窗口進行定位。relative
生成相對定位的元素,相對於其正常位置進行定位。所以,"left:20" 會向元素的 left位置添加 20 像素。static
默認值。沒有定位,元素出如今正常的流中(忽略 top, bottom, left, right
或者 z-index
聲明)。inherit
規定應該從父元素繼承 position 屬性的值。display:none
是完全消失,不在文檔流中佔位,瀏覽器也不會解析該元素;visibility:hidden
是視覺上消失了,能夠理解爲透明度爲0的效果,在文檔流中佔位,瀏覽器會解析該元素;visibility:hidden
性能要好,display:none
切換顯示時visibility
,頁面產生迴流(當頁面中的一部分元素須要改變規模尺寸、佈局、顯示隱藏等,頁面從新構建,此時就是迴流。全部頁面第一次加載時須要產生一次迴流),而visibility
切換是否顯示時則不會引發迴流。