1. 程式人生 > >CSS基礎

CSS基礎

性問題 padding 發生 屬性 right 失效 問題 ota size

  1、選擇器

css的選擇器很多種,常用的有類選擇器、標簽選擇器、ID選擇器、後代選擇器、群組選擇器、偽類選擇器(befor/after)、兄弟選擇器(+~)、屬性選擇器等等。

  2、定位

定位一般有相對定位(relative)、絕對定位(absolute)、固定定位(fixed),relative和absolute在移動端用得最多,fixed在移動端有兼容性問題,因此不推薦使用,在移動端替代fixed的方案是absolute+內部滾動。

  3、浮動

設置float為left或right,就能使該元素脫離文檔流,向左或者向右浮動。一般在做宮格模式布局時會用到,如果子元素全部設置為浮動,則父元素是塌陷的,這時就需要清除浮動,清除浮動的方法很多,常用的方法是在元素末尾加空元素設置clear:both,更高級一點的就給父元素設置befor/after來模擬一個空元素,還可以直接設置overflow:auto/hidden。除過浮動可以實現宮格模式,行內盒子(inline-block)和table也可以。

  4、盒子模型

盒子模型是css最重要的一個概念,也是css布局的基石。常見的盒子模型有塊級(block)和行內盒子(inline-block),盒子最關鍵的幾個屬性包括margin border padding 和content,這幾個元素可以設置盒子與盒子之間的關系以及盒子與內容之間的關系。還有一個問題是計算盒子的大小,需要註意的是,box-sizing屬性的設置會影響盒子的width和height。只有普通文檔流中塊框的垂直外邊距才會發生外邊距合並。行內框 浮動框或絕對定位之間的外邊距不會合並。

  5、Flex布局

Flex布局的容器是一個伸縮容器,首先容器本身會更具容器的元素動態設置自身大小;然後當Flex容器被應用一個大小時(width和height),將會自動調整容器中的元素適應新的大小。Felx容器也可以設置伸縮比例和固定寬度,還可以設置容器中元素的排列方向(橫向和縱向)和是否支持元素的自動換行。有了這個神器,作業面可以方便很多。註意,設為Felx布局以後,子元素的float clear 和vertical-align屬性將失效。

  6、transition和transform

應用transform可以對元素進行平移(translate)、旋轉(rotate)、放大縮小(scale)、傾斜(skew)等處理,而transition使css屬性值(包括transform)在一段時間內平滑的過度。使用transition和transform就可以實現頁面的滑動切換效果。

  7、動畫Animation

Animation首先需要設置一個動畫效果,然後以這個動畫方式來改變元素的css屬性之變化,動畫可以被設置為永久循環演示。和transition相比,animation設置動畫效果更靈活更豐富,而這還有一個區別:transition只能通過主動改變元素的css值才能觸發動畫效果,而animation一旦被應用,就開始執行動畫。

  8、Sprit圖

對於大型站點,為了減少後HTTP的請求次數,一般會將用的小圖標排列到一個大圖中,頁面加載時只需要請求一次網絡,然後再css中通過設置background-position來控制顯示所需要的小圖標

  9、字體圖標iconfont

所謂字體圖標就是將常用的圖標轉化為字體資源存在文件中,通過CSS中應用該字體文件,然後可以直接通過控制字體的css屬性來設置圖標的樣式。

CSS基礎