天天看點

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

第三章 CSS基礎

  • 一、CSS基礎
    • 1.1、基本規則
    • 1.2、選擇器
      • 1.2.1、選擇器分類
      • 1.2.2、選擇器權重
      • 1.2.3、其他的優先級
    • 1.3、非布局樣式(字型)
      • 1.3.1、多字型fallback
      • 1.3.2、網絡字型、自定義字型
      • 1.3.3、iconFont
    • 1.4、非布局樣式(行高)
      • 1.4.1、行高的構成
    • 1.5、非布局樣式(背景)
      • 1.5.1、背景顔色
      • 1.5.2、漸變色背景
      • 1.5.3、多背景疊加
      • 1.5.4、背景圖檔的屬性和雪碧圖
      • 1.5.5、多分辨率适配
      • 1.5.6、Base64
    • 1.6、非布局樣式(邊框)
      • 1.6.1、邊框屬性
      • 1.6.2、邊框背景圖
      • 1.6.3、邊框銜接
    • 1.7、非布局樣式(滾動)
    • 1.8、非布局樣式(文字折行)
    • 1.9、非布局樣式(裝飾性屬性及其它)
    • 1.10、hack和案例(相容性問題)
      • 1.10.1、hack簡介
      • 1.10.2、hack案例
    • 1.11、面試

一、CSS基礎

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.1、基本規則

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.2、選擇器

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.2.1、選擇器分類

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.2.2、選擇器權重

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

id選擇器的權重是最高的,不會因為類選擇器的增加而超過id選擇器的權重,即如果有11個類,那麼計算權重和110,實際是不會進位的,也就是說其他選擇器的權重和不會超過id選擇器。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.2.3、其他的優先級

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.3、非布局樣式(字型)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.3.1、多字型fallback

如下圖所示,當配置了多種字型的情況下,浏覽器會從左往右去給每個字元加載對應的字型。如果找不到就會找後面一個字型,如果都找不到,則會加載浏覽器預設的字型。不同的裝置或者平台所對應的字型也不相同。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.3.2、網絡字型、自定義字型

網絡字型,在指定一個遠端位址的情況下。如果出現跨域,一定要讓對方伺服器出具COIS的頭,也就是允許跨域。

自定義字型,如下

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.3.3、iconFont

阿裡Icon Font矢量圖示庫

進入網頁後,可以将滑鼠移動到圖示上,然後點選加入到購物車

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

然後點選右上角的購物車圖示,将圖示加入到項目中。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

可以點選下載下傳到本地,将圖示庫下載下傳下來。然後作為圖示子圖,具體的使用方式,

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

下載下傳後,将解壓包打開,打開如下圖所示的html。裡面有使用的教程。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.4、非布局樣式(行高)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.4.1、行高的構成

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

外層的高度是由line-height決定的。由于内層的inline-box組成了一個line-box;line-box的高度是由第三個inline-box的line-height撐起來的。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

上圖中的藍色字型部分是垂直居中的,這是由于line-height的原因。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

上圖中的三個字段,預設是按照基線對齊的。如果要讓他居中則可以給每個字段設定vertical-align:middle;則可以居中對齊了。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

同時你也可以設定頂線對齊或者底線對齊。vertical-align:top / bottom;

圖檔的3px問題

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

在上面的div中有一個span和一個img。原因是img也是一個inline的,這樣我們隻要修改對齊的方式,改為按底線對齊;

同樣我們也可以修改img的類型,改為block。

1.5、非布局樣式(背景)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.5.1、背景顔色

背景顔色的表示方式有很多種,可以直接在background:後面添加 white這樣的大家都周知的顔色名詞;也可以添加十六進制的顔色值。還可以通過hsl或者hsla來表示。同樣也可以使用rgb或者rgba來表示顔色。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.5.2、漸變色背景

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.5.3、多背景疊加

下面,使用background的多背景疊加和background-size:30px; 30px;實作一個網格效果。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.5.4、背景圖檔的屬性和雪碧圖

基本屬性如下圖

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

雪碧圖

原圖如下

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

如下圖設定後

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.5.5、多分辨率适配

在高分辨率下,可以使用高分辨率的圖做小之後使用,比如一個圖是500px*400px的,那麼可以設定background-size:250px 200px;減小一般,然後使得顯示的時候相對清楚。

1.5.6、Base64

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

這裡圖檔會增大為原圖大小的3/4;如果放到css檔案中的話,會導緻css檔案本身會變大。同樣浏覽器對base64解碼的時候也會産生開銷。

1.6、非布局樣式(邊框)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.6.1、邊框屬性

設定一個寬5px,虛線,紅色的邊框;

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.6.2、邊框背景圖

邊框圖

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

使用邊框圖設定邊框,repeat屬性會出現下圖紅色框的問題。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

調整後,解決上面的問題。

.c2{
    width:400px;
    height: 200px;
     /*border-width: 30px;*/
     /* transparent是全透明黑色(black)的速記法,即一個類似rgba(0,0,0,0)這樣的值。 */
    border:30px solid transparent;
    border-image:url(./border.png) 30 round;
}
           
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.6.3、邊框銜接

.c3{
    width:400px;
    height: 200px;
    border-bottom:30px solid red;
    /* border-right:30px solid blue; */
    border-left:30px solid transparent;
    border-right:30px solid transparent;
}
           
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

這個可以用來實作三角形

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

添加border-radius屬性後可以變成一個扇形。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.7、非布局樣式(滾動)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
.c1{
    background:red;
    height:200px;
    /*auto hidden overflow*/
    overflow: auto;
}
           

1.8、非布局樣式(文字折行)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

預設分了三部分,一部分是一個英文的句子,一部分是一個超長的單詞,另一部分是一句中文句子。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

如果要把單詞放到這個div中,那麼可以設定紅色框中的屬性。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

将整個英文句子折行。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.9、非布局樣式(裝飾性屬性及其它)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

font-weight:+ 數字的情況時,數字範圍支援100-900,但是不是所有浏覽器或者字型都支援這些,有些可能到700之後就不會出現樣式上的修改了。

1.10、hack和案例(相容性問題)

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.10.1、hack簡介

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

hack屬性需要寫到後面,因為後寫的會有效。

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.10.2、hack案例

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎

1.11、面試

【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎
【全面系統講解CSS】學習筆記-第三章 CSS基礎一、CSS基礎