1. 程式人生 > >html和css學習筆記(三)

html和css學習筆記(三)

CSS

1css書寫位置

1.1內部樣式表

內嵌式是將CSS程式碼集中寫在HTML文件的head頭部標籤中,並且用style標籤定義,其基本語法格式如下:

```html
<head>
<style type="text/CSS">
    選擇器 {屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3;}
</style>
</head>
```
注:語法中,style標籤一般位於head標籤中title標籤之後,也可以把他放在HTML文件的任何地方。

type="text/CSS"  在html5中可以省略, 寫上也比較符合規範, 所以這個地方可以寫也可以省略。

1.2行內樣式

<head>
<style type="text/CSS">
    選擇器 {屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3;}
</style>
</head>
type="text/CSS"  在html5中可以省略, 寫上也比較符合規範, 所以這個地方可以寫也可以省略。

1.3外部樣式表

<head>
  <link href="CSS檔案的路徑"  rel="stylesheet" />
</head>
注意:  link 是個單標籤哦!!!

該語法中,link標籤需要放在head頭部標籤中,並且必須指定link標籤的三個屬性,具體如下:

```
href:定義所連結外部樣式表文件的URL,可以是相對路徑,也可以是絕對路徑。
type:定義所連結文件的型別,在這裡需要指定為“text/CSS”,表示連結的外部檔案為CSS樣式表。
rel:定義當前文件與被連結文件之間的關係,在這裡需要指定為“stylesheet”,表示被連結

2css選擇器

  • 標籤選擇器
  • 類選擇器

類選擇器使用“.”(英文點號)進行標識,後面緊跟類名,其基本語法格式如下:

.類名{屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }

 標籤呼叫的時候用 class=“類名”  即可。
注:1.長名稱或片語可以使用中橫線來為選擇器命名。
2.不建議使用“_”下劃線來命名CSS選擇器。

  • 多類名選擇器

給標籤指定多個類名,從而達到更多的選擇目的。
例:<div class="pink fontWeight font20">亞瑟</div>

  • id選擇器

id選擇器使用“#”進行標識,後面緊跟id名,其基本語法格式如下:

```
#id名{屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }
id選擇器和類選擇器區別

W3C標準規定,在同一個頁面內,不允許有相同名字的id物件出現,但是允許相同名字的class。

  • 萬用字元選擇器

萬用字元選擇器用“*”號表示,他是所有選擇器中作用範圍最廣的,能匹配頁面中所有的元素。其基本語法格式如下:
* { 屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }

  • 後代選擇器和子代選擇器

後代選擇器:.demo  h3 (class相當於給標籤命名,因此選擇器使用標籤和使用class等價)

子代選擇器:.demo > h3

後代選擇器選擇所有後代,子代選擇器只選擇兒子後代。

  • 並集和交集選擇器

並集選擇器:標籤之間用逗號隔開

交集選擇器:交集選擇器由兩個選擇器構成,標籤連寫,兩個選擇器之間不能有空格,如h3.special。用的較少

  • 偽類選擇器

偽類選擇器用於向某些選擇器新增特殊的效果。比如給連結新增特殊效果

接偽類選擇器

- :link      /* 未訪問的連結 */
- :visited   /* 已訪問的連結 */
- :hover     /* 滑鼠移動到連結上 */
- :active    /* 選定的連結 */

注意寫的時候,他們的順序儘量不要顛倒  按照  lvha 的順序。

例:

  /* a是標籤選擇器  所有的連結 */

a:hover {   /* :hover 是連結偽類選擇器 滑鼠經過 */
            color: red; /*  滑鼠經過的時候,由原來的 灰色 變成了紅色 */
}

3css樣式屬性

3.1字型相關樣式

({font: font-style  font-weight  font-size/line-height  font-family;})

  • font-size字號大小

屬性用於設定字號,該屬性的值可以使用相對長度單位,也可以使用絕對長度單位。其中,相對長度單位比較常用,推薦使用畫素單位px,絕對長度單位使用較少。具體如下:

  • font-family:字型

font-family屬性用於設定字型。網頁中常用的字型有宋體、微軟雅黑、黑體等,例如將網頁中所有段落文字的字型設定為微軟雅黑,可以使用如下CSS樣式程式碼:

p{ font-family:"微軟雅黑";}

可以同時指定多個字型,中間以逗號隔開,表示如果瀏覽器不支援第一個字型,則會嘗試下一個,直到找到合適的字型。

*常用技巧

1. 現在網頁中普遍使用14px+。
2. 儘量使用偶數的數字字號。ie6等老式瀏覽器支援奇數會有bug。
3. 各種字型之間必須使用英文狀態下的逗號隔開。
4. 中文字型需要加英文狀態下的引號,英文字型一般不需要加引號。當需要設定英文字型時,英文字型名必須位於中文字型名之前。
5.如果字型名中包含空格、#、$等符號,則該字型必須加英文狀態下的單引號或雙引號,例如font-family: "Times New Roman";。
6. 儘量使用系統預設字型,保證在任何使用者的瀏覽器中都能正確顯示。

7.在 CSS 中設定字型名稱,直接寫中文是可以的。但是在檔案編碼(GB2312、UTF-8 等)不匹配時會產生亂碼的錯誤。xp 系統不支援 類似微軟雅黑的中文。

方案一: 你可以使用英文來替代。 比如 font-family:"Microsoft Yahei"。

方案二: 在 CSS 直接使用 Unicode 編碼來寫字型名稱可以避免這些錯誤。使用 Unicode 寫中文字型名稱,瀏覽器是可以正確的解析的。字型為“微軟雅黑”。font-family: "\5FAE\8F6F\96C5\9ED1",

常用:

8.為了照顧不同電腦的字型安裝問題,我們儘量只使用宋體和微軟雅黑中文字型

  • font-weight:字型粗細

字型加粗除了用 b  和 strong 標籤之外,可以使用CSS 來實現,但是CSS 是沒有語義的。

font-weight屬性用於定義字型的粗細,其可用屬性值:normal、bold、bolder、lighter、100~900(100的整數倍)。

*小技巧:

數字 400 等價於 normal,而 700 等價於 bold。  但是我們更喜歡用數字來表示。  (數字沒有單位

  • font-style:字型風格

字型傾斜除了用 i  和 em 標籤之外,可以使用CSS 來實現,但是CSS 是沒有語義的。

font-style屬性用於定義字型風格,如設定斜體、傾斜或正常字型,其可用屬性值如下:

normal:預設值,瀏覽器會顯示標準的字型樣式。

italic:瀏覽器會顯示斜體的字型樣式。

oblique:瀏覽器會顯示傾斜的字型樣式。

*小技巧

平時我們很少給文字加斜體,反而喜歡給斜體標籤(em,i)改為普通模式。

  • font:綜合設定字型樣式 (重點)

font屬性用於對字型樣式進行綜合設定,其基本語法格式如下:

選擇器{font: font-style  font-weight  font-size/line-height  font-family;}

使用font屬性時,必須按上面語法格式中的順序書寫,不能更換順序,各個屬性以空格隔開。

注意:其中不需要設定的屬性可以省略(取預設值),但必須保留font-size和font-family屬性,否則font屬性將不起作用。

4.CSS外觀屬性

4.1color:文字顏色

1.預定義的顏色值,如red,green,blue等。

2.十六進位制,如#FF0000,#FF6600,#29D794(紅綠藍各兩位)等。實際工作中,十六進位制是最常用的定義顏色的方式。

3.RGB程式碼,如紅色可以表示為rgb(255,0,0)或rgb(100%,0%,0%)。

需要注意的是,如果使用RGB程式碼的百分比顏色值,取值為0時也不能省略百分號,必須寫為0%。

4.2line-height:行間距

屬性用於設定行間距,就是行與行之間的距離,即字元的垂直間距,一般稱為行高。line-height常用的屬性值單位有三種,分別為畫素px,相對值em和百分比%,實際工作中使用最多的是畫素px

一般情況下,行距比字號大7.8畫素左右就可以了。

4.3text-align:水平對齊方式

text-align屬性用於設定文字內容的水平對齊(讓標籤(盒子)中的內容水平居中,而不是讓盒子居中對齊),相當於html中的align對齊屬性。其可用屬性值如下:

left:左對齊(預設值)

right:右對齊

center:居中對齊

4.4text-indent:首行縮排

text-indent屬性用於設定首行文字的縮排,其屬性值可為不同單位的數值、em字元寬度的倍數、或相對於瀏覽器視窗寬度的百分比%,允許使用負值, 建議使用em作為設定單位。

1em 就是一個字的寬度   如果是漢字的段落, 1em 就是一個漢字的寬度

4.5text-decoration 文字的裝飾

text-decoration   通常我們用於給標籤(連結,刪除線等)修改裝飾效果

 none          預設。定義標準的文字。             
underline     定義文字下的一條線。下劃線 也是我們連結自帶的 
overline     定義文字上的一條線。              
line-through  定義穿過文字下的一條線。  

4.6小結

em和i傾斜標籤,取消傾斜:font-style:normal;新增傾斜:font-style:italic

strong和b加粗,取消加粗:font-weight:400;新增加粗:font-weight:700

u和ins刪除下劃線:text-decoration:none;新增下劃線text-decoration:underline;

s和del刪除刪除線:text-decoration:none;新增刪除線text-decoration:line-through

5註釋

 /*   需要註釋的內容  */ 

6標籤顯示模式display

6.1標籤的型別

HTML標籤一般分為塊標籤和行內標籤兩種型別,它們也稱塊元素和行內元素。具體如下:

  • 塊級元素(block-level)

每個塊元素通常都會獨自佔據一整行或多整行,可以對其設定寬度、高度、對齊等屬性,常用於網頁佈局和網頁結構的搭建。

常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標籤是最典型的塊元素。

塊級元素的特點:

(1)總是從新行開始

(2)高度,行高、外邊距以及內邊距都可以控制。

(3)寬度預設是容器的100%

(4)可以容納內聯元素和其他塊元素。

  •  行內元素(inline-level)

行內元素(內聯元素)不佔有獨立的區域,僅僅靠自身的字型大小和影象尺寸來支撐結構,一般不可以設定寬度、高度、對齊等屬性,常用於控制頁面中文字的樣式。

常見的行內元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標籤最典型的行內元素。

行內元素的特點:

(1)和相鄰行內元素在一行上。

(2)高、寬無效,但水平方向的padding和margin可以設定,垂直方向的無效。

(3)預設寬度就是它本身內容的寬度。

(4)行內元素只能容納文字或則其他行內元素。(a特殊)

注意:

1. 只有 文字才 能組成段落  因此 p  裡面不能放塊級元素,同理還有這些標籤h1,h2,h3,h4,h5,h6,dt,他們都是文字類塊級標籤,裡面不能放其他塊級元素。
2. 連結裡面不能再放連結。

  • 塊級元素和行內元素區別

塊級元素的特點:
(1)總是從新行開始
(2)高度,行高、外邊距以及內邊距都可以控制。
(3)寬度預設是容器的100%
(4)可以容納內聯元素和其他塊元素。

行內元素的特點:
(1)和相鄰行內元素在一行上。
(2)高、寬無效,但水平方向的padding和margin可以設定,垂直方向的無效。
(3)預設寬度就是它本身內容的寬度。
(4)行內元素只能容納文字或則其他行內元素。

  • 行內塊元素

在行內元素中有幾個特殊的標籤——<img />、<input />、<td>,可以對它們設定寬高和對齊屬性,有些資料可能會稱它們為行內塊元素。

行內塊元素的特點:
(1)和相鄰行內元素(行內塊)在一行上,但是之間會有空白縫隙。
(2)預設寬度就是它本身內容的寬度。
(3)高度,行高、外邊距以及內邊距都可以控制。

6.2標籤顯示模式display

塊轉行內:display:inline;

行內轉塊:display:block;

塊、行內元素轉換為行內塊: display: inline-block;