1. 程式人生 > 其它 >【CSS簡介、基礎選擇器、字型屬性、文字屬性、引入方式】前端小抄(2) - Pink老師自學筆記

【CSS簡介、基礎選擇器、字型屬性、文字屬性、引入方式】前端小抄(2) - Pink老師自學筆記

【CSS簡介、基礎選擇器、字型屬性、文字屬性、引入方式】前端小抄(2)

本學習筆記是個人對 Pink 老師課程的總結歸納,轉載請註明出處!

一、CSS簡介

CSS 的主要使用場景就是佈局網頁,美化頁面的。

1.1 HTML的侷限性

HTML 只關注內容的語義,雖然 HTML 可以做簡單的樣式,但是帶來的是無盡的臃腫和繁瑣……

1.2 CSS網頁的美容師

CSS 是 層疊樣式表 的簡稱。

有時我們也會稱之為 CSS 樣式表級聯樣式表

CSS 也是一種 標記語言

CSS 主要用於設定 HTML 頁面中的文字內容(字型、大小、顏色、對齊方式……)、圖片的外形(寬高、邊框樣式、邊距……)以及 版面的佈局和外觀顯示樣式。

CSS 讓我們的網頁更加豐富多彩,佈局更加靈活自如,簡單理解:CSS 可以美化 HTML,讓 HTML 更漂亮,讓頁面佈局更簡單。

總結:

  • HTML 主要做結構,顯示元素內容
  • CSS 美化 HTML,佈局網頁元素
  • CSS 最大價值:由 HTML 專注去做結構呈現,樣式交給 CSS,即:結構 與 樣式 分離

1.3 CSS語法規範

使用 HTML 時,需要遵從一定的規範,CSS 也是如此,要想熟練地使用 CSS 對網頁進行修飾,首先需要了解 CSS 樣式規則。

CSS 規則由兩個主要的部分構成:選擇器 以及 一條或多條宣告

  • 選擇器 是用於指定 CSS 樣式的 HTML 標籤,花括號內是對該物件設定的具體樣式
  • 屬性屬性值“鍵值對” 的形式出現
  • 屬性是對指定的物件設定的樣式屬性,例如:字型大小、文字顏色等
  • 屬性和屬性值之間用英文 : 分開
  • 多個 “鍵值對” 之間用英文 ; 進行區分(末尾的鍵值對可以不加 ;

所有的樣式,都包含在 <style> 標籤內,表示是樣式表。<style> 一般寫到 </head> 裡。

<head>
    <style type="text/css">
        h4 {
            color: bule;
            font-size: 100px;
        }
    </style>
</head>

注意:<style> 標籤可以寫到其他標籤內部並作用與該標籤區域內,但是這種寫法並不推薦!

1.4 CSS程式碼風格

1.4.1 樣式格式書寫

  • 緊湊格式
h3 { color: deeppink; font-size: 20px; }
  • 展開格式
h3 {
	color: deeppink;
	font-size: 20px;
}

強烈推薦第二種格式,因為更直觀!同時不用擔心佔用空間,因為後期可以通過程式碼壓縮工具來壓縮程式碼。

1.4.2 樣式大小書寫

  • 小寫
h3 {
	color: pink;
}
  • 大寫
H3 {
	COLOR: PINK;
}

強烈推薦樣式選擇器,屬性名,屬性值關鍵字全部使用小寫字母,特殊情況除外。

1.4.3 空格規範

h3 {
	color: pink;
}
  • 屬性值前面,冒號後面,保留一個空格
  • 選擇器(標籤)和前花括號中間保留空格

二、CSS基礎選擇器

2.1 CSS選擇器的作用

選擇器(選擇符)就是根據不同的需求把不同的標籤選出來這就是選擇器的作用,簡單來說,就是:選擇標籤用的。

h1 {
	color: red;
	font-size: 25px;
}

以上 CSS 做了兩件事:

  • 找到所有的 h1 標籤。(選對人)
  • 設定這些標籤的樣式:顏色為紅色、字型大小為 25 畫素。(做對事)

2.2 選擇器的分類

選擇器分為 基礎選擇器複合選擇器 兩個大類,本文首先介紹一下基礎選擇器。

  • 基礎選擇器是由 單個 選擇器組成的
  • 基礎選擇器又包括:標籤選擇器類選擇器id 選擇器萬用字元選擇器

2.3 標籤選擇器

標籤選擇器(元素選擇器)是指用 HTML 標籤名稱作為選擇器,按標籤名稱分類,為頁面中某一類標籤指定統一的 CSS 樣式。

語法:

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

作用:

標籤選擇器可以把某一類標籤全部選擇出來,比如所有的 <div> 標籤和所有的 <span> 標籤。

優點:

能快速為頁面中同類型的標籤統一設定樣式。

缺點:

不能設計差異化樣式,只能選擇全部的當前標籤。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之標籤選擇器</title>
    <style type="text/css">
        /* 會對所有的該標籤元素運用樣式,優點:快速統一,缺點:無法差異化設定 */
        p {
            color: green;
        }

        div {
            color: pink;
        }
    </style>
</head>

<body>
    <p>男</p>
    <p>男</p>
    <p>男</p>
    <div>女生</div>
    <div>女生</div>
    <div>女生</div>
</body>

</html>

2.4 類選擇器

如果想要差異化選擇不同的標籤,單獨選一個或者某幾個標籤,可以使用 類選擇器

語法:

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

例如:將所有擁有 red 類的 HTML 元素均設定為紅色。

.red {
	color: red;
}

語法:

<div class="red">變紅色</div>

類選擇器在 HTML 中以 class 屬性表示,在 CSS 中,類選擇器以一個 . 號顯示。

注意:

  • 類選擇器使用 .(英文點號)進行標識,後面緊跟類名(自定義,我們自己命名的)
  • 可以理解為給這個標籤起了一個別名來表示
  • 長名稱或片語可以使用中橫線 - 來為類命名
  • 不能使用已有的關鍵字作為類名
  • 不要使用純數字、中文等命名,儘量使用英文字母來表示
  • 命名要有意義,儘量使別人一眼就知道這個類名的目的(可讀性第一,長度第二,推薦使用英語,如果是使用拼音請使用全拼)
  • 命名規範:見附件(Web 前端開發規範手冊.doc)

記憶口訣:樣式點定義,結構類呼叫,一個或多個,開發最常用。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之類選擇器</title>
    <style type="text/css">
        /* 類選擇器口訣:樣式 . 定義,結構 class 呼叫,一個或多個,開發最常用 */
        .red {
            width: 100px;
            height: 100px;
            background-color: red;
        }

        .green {
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
</head>

<body>
    <div class="red"></div>
    <div class="green"></div>
    <div class="red"></div>
</body>

</html>

類選擇器——多類名

我們可以給一個標籤指定多個類名,從而達到更多的選擇目的,這些類名都可以選出這個標籤,簡單理解就是一個標籤有多個名字。

  • 在標籤 class 屬性中寫多個類名
  • 多個類名中間必須用 空格 分開
  • 這個標籤就可以分別具有這些類名的樣式
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之類選擇器</title>
    <style type="text/css">
        /* 一個標籤可以運用多個類選擇器,之間用空格隔開 */
        .red {
            color: red;
        }

        .font35 {
            font-size: 35px;
        }
    </style>
</head>

<body>
    <div class="red font35">zhoujirui</div>
</body>

</html>

多類名開發中使用場景

  • 可以把一些標籤元素相同的樣式(共同的部分)放到一個類裡面
  • 這些標籤都可以呼叫這個公共的類,然後再呼叫自己獨有的類
  • 從而節省 CSS 程式碼,統一修改也非常方便
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之類選擇器</title>
    <style type="text/css">
        /* 類選擇器最大的優勢在於:複用 */
        .box {
            width: 100px;
            height: 100px;
        }

        .red {
            background-color: red;
        }

        .green {
            background-color: green;
        }
    </style>
</head>

<body>
    <div class="box red"></div>
    <div class="box green"></div>
    <div class="box red"></div>
</body>

</html>

多類名選擇器在後期佈局比較複雜的情況下,是使用得較多的。

2.5 id選擇器

id 選擇器可以為標有特定 id 的 HTML 元素指定特定的樣式。

HTML 元素以 id 屬性來設定 id 選擇器,CSS 中 id 選擇器以 # 來定義。

語法:

#id名 {
	屬性1: 屬性值1;
	...
}

例如:將 id 為 nav 元素中的內容設定為紅色。

#nav {
	color: red;
}

注意:id 屬性只能在每個 HTML 文件中出現一次。

口訣:樣式 # 定義,結構 id 呼叫,只能呼叫一次,別人切勿使用。

id 選擇器和類選擇器的區別:

  • 類選擇器 (class) 好比人的名字,一個人可以有多個名字,同時一個名字也可以被多個人使用
  • id 選擇器好比人的身份證號碼,全中國是唯一的,不可重複(同一個 id 選擇器只能呼叫一次)
  • id 選擇器和類選擇器最大的不同在於使用次數上
  • 類選擇器在修改樣式中用的最多,id 選擇器一般用於頁面唯一性的元素上,經常和 JavaScript 搭配使用
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之id選擇器</title>
    <style type="text/css">
        /* id 選擇器口訣:樣式 # 定義,結構 id 呼叫,只能呼叫一次,別人切勿使用 */
        #pink {
            color: pink;
        }
    </style>
</head>

<body>
    <div id="pink">zhoujirui</div>
</body>

</html>

再次強調:同一 id 只能定義一次,同一 id 選擇器也只能呼叫一次!(對於 CSS 修改樣式來說,最好使用類選擇器,id 選擇器主要與後面的 JS 搭配使用)。

2.6 萬用字元選擇器

在 CSS 中,萬用字元選擇器使用 * 定義,它表示選取頁面中所有元素(標籤)。

語法:

* {
	屬性1: 屬性值1;
	...
}
  • 萬用字元選擇器不需要呼叫,自動就給所有的元素使用樣式
  • 特殊情況才使用,後面講解使用場景(以下是清除所有的元素標籤的內外邊距,後期講)
* {
	margin: 0;
	padding: 0;
}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基礎選擇器之萬用字元選擇器</title>
    <style type="text/css">
        /* * 給 html 標籤所有的元素都使用樣式,並且這個過程是自動完成的,不需要手動呼叫 */
        * {
            color: red;
        }
    </style>
</head>

<body>
    <div>我的</div>
    <span>我的</span>
    <ul>
        <li>還是我的</li>
    </ul>
</body>

</html>

2.7 基礎選擇器總結

基礎選擇器 作用 特點 使用情況 用法
標籤選擇器 可以選出所有相同的標籤,比如:p 不能差異化選擇 較多 p {color: red;}
類選擇器 可以選出 1 個或者 多個 標籤 可以根據需求選擇 非常多 .nav {color: red;}
id 選擇器 一次只能選擇 1 個標籤 ID 屬性只能在每個 HTML 文件中出現一次,也只能呼叫一次 一般和 js 搭配 #nav {color: red;}
萬用字元選擇器 選擇所有的標籤 選擇的太多,有部分不需要 特殊情況使用 * {color: red;}
  • 每個基礎選擇器都有使用場景,都需要掌握
  • 如果是修改樣式,類選擇器是使用最多的

三、CSS字型屬性

CSS Fonts(字型)屬性用於定義:字體系列大小粗細、和 文字樣式(如:斜體)。

3.1 字體系列

CSS 使用 font-family 屬性定義文字的字體系列。

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

div {
	font-family: Arial, 'Microsoft YaHei';
}
  • 各種字型之間必須使用英文狀態下的逗號隔開
  • 一般情況下,如果有空格隔開的多個單片語成的字型,加單引號
  • 儘量使用系統預設自帶字型,保證在任何使用者的瀏覽器中都能正確顯示
  • 最常見的幾個字型:body {font-family: 'Microsoft YaHei', tahoma, arial, 'Hiragino Sans GB';}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之字體系列</title>
    <style type="text/css">
        /* 瀏覽器會從第一個字型開始進行適配,如果本機可以適配的話,那麼就使用該字型,否則看下一個字型,
           如果都不可以,那麼瀏覽器會使用自帶的預設字型,所以實際開發中一般建議使用比較標準化的字型 */
        h2 {
            /* font-family: '微軟雅黑'; 可以使用中文,但不建議 */
            font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif;
        }

        p {
            font-family: 'Times New Roman', Times, serif;
        }
    </style>
</head>

<body>
    <h2>JERRY的祕密</h2>
    <p>姓名:周吉瑞</p>
    <p>生日:2000年5月4日</p>
    <p>性別:男</p>
    <p>婚姻狀況:單身</p>
</body>

</html>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之字體系列</title>
    <style type="text/css">
        /* 一些情況下,如果要全域性設定字型可以直接在 body 標籤選擇器中指明 */
        body {
            font-family: 'Microsoft YaHei', Arial, Helvetica, sans-serif;
        }
    </style>
</head>

<body>
    <h2>JERRY的祕密</h2>
    <p>姓名:周吉瑞</p>
    <p>生日:2000年5月4日</p>
    <p>性別:男</p>
    <p>婚姻狀況:單身</p>
</body>

</html>

注意:瀏覽器字型是依據使用者作業系統來呼叫的,所以這裡介紹一種 Windows 系統安裝字型的方法。

3.2 字型大小

CSS 使用 font-size 屬性定義字型大小。

p {
	font-size: 20px;
}
  • px(畫素)大小是我們網頁的最常用的單位
  • 谷歌瀏覽器預設的文字大小為:16px
  • 不同瀏覽器可能預設顯示的字號大小不一致,我們儘量給一個明確值大小,不要預設大小
  • 可以給 body 指定整個頁面文字的大小
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之字型大小</title>
    <style type="text/css">
        /* 全域性設定時,一般在 body 標籤選擇器中指定文字大小,谷歌瀏覽器預設 16px,
           但是最好還是指定一個明確值,以保證在不同瀏覽器中的效果是一樣的 */
        body {
            font-size: 24px;
        }

        /* 標題標籤比較特殊,需要單獨指定文字大小 */
        h2 {
            font-size: 54px;
        }
    </style>
</head>

<body>
    <h2>JERRY的祕密</h2>
    <p>姓名:周吉瑞</p>
    <p>生日:2000年5月4日</p>
    <p>性別:男</p>
    <p>婚姻狀況:單身</p>
</body>

</html>

3.3 字型粗細

CSS 使用 font-weight 屬性設定文字字型的粗細。

p {
	font-weight: bold;
}
屬性值 描述
normal 預設值(不加粗的)
bold 定義粗體(加粗的)
100-900 400 等同於 normal,而 700 等同於 bold,注意這個數字後面不跟單位
  • 學會讓加粗標籤(比如 h 和 strong 等)變為不加粗,或者讓其他標籤加粗
  • 實際開發時,我們更喜歡用數字表示粗細
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之字型粗細</title>
    <style type="text/css">
        .bold {
            /* font-weight: bold; */
            /* 實際開發中,我們更提倡使用數字來表示加粗的效果 */
            /* 這個 700 的後面不要跟單位 */
            /* 具體效果請查閱 CSS 文件 */
            font-weight: 700;
        }

        /* 使文字不加粗 */
        h2 {
            /* font-weight: normal; */
            font-weight: 400;
        }
    </style>
</head>

<body>
    <h2>JERRY的祕密</h2>
    <p>姓名:周吉瑞</p>
    <p>生日:2000年5月4日</p>
    <p>性別:男</p>
    <p class="bold">婚姻狀況:單身</p>
</body>

</html>

3.4 文字樣式

CSS 使用 font-style 屬性設定文字的風格。

p {
	font-style: normal;
}
屬性值 作用
normal 預設值,瀏覽器會顯示標準的字型樣式 font-style: normal;
italic 瀏覽器會顯示斜體的字型樣式

注意:平時我們很少給文字加斜體,反而要給斜體標籤 (em、i) 改為不傾斜字型。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之字型樣式(風格)</title>
    <style type="text/css">
        p {
            /* 讓不傾斜的字型傾斜 */
            font-style: italic;
        }

        em {
            /* 讓傾斜的字型不傾斜 */
            font-style: normal;
        }
    </style>
</head>

<body>
    <p>上課時候的你</p>
    <em>下課時候的你</em>
</body>

</html>

3.5 字型複合屬性

字型屬性可以把以上文字樣式綜合來寫,這樣可以更節約程式碼。

body {
	font: font-style font-weight font-size/line-height font-family;
}
  • 使用 font 屬性時,必須按上面語法格式中的順序書寫,不能更換順序,並且各個屬性間以空格隔開
  • 不需要設定的屬性可以省略(取預設值),但必須保留 font-size 和 font-family 屬性,否則 font 屬性將不起作用
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字型屬性之複合屬性</title>
    <style type="text/css">
        /* 想要 div 文字變傾斜、加粗、字號設定為 16 畫素,並且是微軟雅黑 */
        div {
            /* font-style: italic;
               font-weight: 700;
               font-size: 16px;
               font-family: 'Microsoft YaHei'; */

            /* 複合屬性:簡寫的方式,裡面的順序不能打亂 以空格隔開 */
            /* font: font-style font-weight font-size/line-height font-family; */
            font: italic 700 16px 'Microsoft YaHei';
            /* 注意:不需要設定的屬性可以省略(取預設值),但必須保留 font-size 和 font-family 屬性,否則 font 屬性將不起作用 */
            /* font: 20px 'Microsoft YaHei'; */
        }
    </style>
</head>

<body>
    <div>三生三世十里桃花,一心一意百行程式碼</div>
</body>

</html>

3.6 字型屬性總結

屬性 表示 注意點
font-size 字號 我們通常用的單位是 px 畫素,一定要跟上單位
font-family 字型 實際工作中按照團隊約定來寫字型
font-weight 字型屬性 記住加粗是 700 或者 bold 不加粗 是 normal 或者 400 記住數字不要跟單位
font-style 字型樣式 記住傾斜是 italic 不傾斜 是 normal 工作中我們最常用 normal
font 字型連寫 1、字型連寫是有順序的不能隨意換位置,2、其中字號和字型必須同時出現

四、CSS文字屬性

CSS Text(文字)屬性可定義文字的 外觀,比如:文字顏色文字對齊文字裝飾文字縮排行間距 等。

4.1 文字顏色

color 屬性用於定義文字的顏色。

div {
	color: red;
}
表示方式 屬性值
預定義的顏色值 red,green,blue,還有我們的御用色 pink
十六進位制 #FF0000,#FF6600,#29D794(每兩位對應:#紅R綠G藍B)
RGB 程式碼 rgb(255, 0, 0) 或 rgb(100%, 0%, 0%)

注意:開發中最常用的是十六進位制。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀屬性之文字顏色</title>
    <style type="text/css">
        div {
            /* color: deeppink; */
            /* color: #FF1493; 最常用 */
            color: rgb(255, 20, 147);
        }
    </style>
</head>

<body>
    <div>pink</div>
</body>

</html>

4.2 文字對齊

text-align 屬性用於設定元素內文字內容的水平對齊方式。

div {
	text-align: center;
}
屬性值 解釋
left 左對齊(預設值)
rigth 右對齊
center 居中對齊
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀之文字對齊</title>
    <style type="text/css">
        h1 {
            /* 本質是讓 h1 盒子裡面的文字水平居中對齊 */
            /* text-align: center; */
            text-align: right;
        }
    </style>
</head>

<body>
    <h1>右對齊的標題</h1>
</body>

</html>

注意:

text-align 屬性只能作用於 塊級元素,同時讓該塊級元素內的 行內元素 實現居中(不一定是文字)。

上述例子中:h1 為塊級元素,所以給 h1 設定 text-align,便會作用於裡面的文字(如果裡面還有行內元素的話,也會一同作用)。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀之文字對齊</title>
    <style type="text/css">
        div {
            text-align: center;
        }
    </style>
</head>

<body>
   <div>
	   <p>zhoujiruizhoujirui</p>
   </div>
</body>

</html>

上述例子中:為 div 設定 text-align 之所以能夠使其內部的塊級元素 p 裡的文字居中,原因是 p 會繼承父元素 div 的 text-align 屬性,所以相當於對 p 設定了 text-align。

4.3 文字裝飾

text-decoration 屬性規定新增到文字的修飾,可以給文字新增 下劃線刪除線上劃線 等。

div {
	text-decoration: underline;
}
屬性值 描述
none 預設,沒有裝飾線(最常用)
underline 下劃線,連結 a 自帶下劃線(常用)
overline 上劃線(幾乎不用)
line-through 刪除線(不常用)
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀之文字裝飾</title>
    <style type="text/css">
        /* 預設為 none 沒有裝飾 */
        div {
            /* 上劃線 幾乎不用 */
            /* text-decoration: overline; */
            /* 刪除線 不常用 */
            /* text-decoration: line-through; */
            /* 下劃線 常用,連結 a 自帶下劃線 */
            text-decoration: underline;
        }

        a {
            /* 取消 a 預設的下劃線 */
            text-decoration: none;
            color: #333333;
        }
    </style>
</head>

<body>
    <div>粉紅色的回憶</div>
    <a href="http://jerry-z-j-r.github.io">JERRY</a>
</body>

</html>

4.4 文字縮排

text-indent 屬性用來指定文字的第一行的縮排,通常是將段落的首行縮排。

div {
	text-indent: 10px;
}

通過設定該屬性,所有元素的第一行都可以縮排一個給定的長度,甚至該長度可以是負值。

p {
	text-indent: 2em;
}

em 是一個相對單位,就是當前元素 (font-size) 1 個文字的大小,如果當前元素沒有設定大小,則會按照父元素的 1 個文字大小。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀之文字縮排</title>
    <style type="text/css">
        p {
            font-size: 24px;
            /* 文字的首行縮排多少距離,不僅可以為正值,還可以為負值 */
            /* text-indent: 20px; */
            /* em 為相對於當前元素的大小單位 */
            text-indent: 2em;
        }
    </style>
</head>

<body>
    <p>開啟北京、上海與廣州的地鐵地圖,你會看見三張縱橫交錯的線路網路,
        這代表了中國最成熟的三套城市軌道交通系統</p>

    <p>可即使是這樣,在北上廣生活的人依然少不了對地鐵的抱怨,其中談及最多的問題便是擁擠,
        對很多人而言,每次擠地鐵的過程,都像是一場硬仗。更何況,還都是敗仗居多。</p>

    <p>那麼,當越來越多的二線甚至三線城市迎接來了自己的地鐵,中國哪裡的地鐵是最擁擠的呢?</p>
</body>

</html>

4.5 行間距

line-height 屬性用於設定行間的距離(行高),可以控制文字行與行之間的距離。

p {
	line-height: 26px;
}
  • 行間距 = 上間距 + 文字高度 + 下間距

  • 上下間距 = (行間距 - 文字高度)/ 2

  • 文字高度 = font-size

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS文字外觀之行間距</title>
    <style type="text/css">
        /* 行間距 = 上間距 + 文字高度 + 下間距 */
        /* 行間距 = 行高 */
        /* 文字高度 = 字型畫素大小 */
        /* 上下間距 = (行間距 - 文字高度)/ 2 */
        p {
            line-height: 25px;
        }
    </style>
</head>

<body>
    <p>開啟北京、上海與廣州的地鐵地圖,你會看見三張縱橫交錯的線路網路,
        這代表了中國最成熟的三套城市軌道交通系統</p>

    <p>可即使是這樣,在北上廣生活的人依然少不了對地鐵的抱怨,其中談及最多的問題便是擁擠,
        對很多人而言,每次擠地鐵的過程,都像是一場硬仗。更何況,還都是敗仗居多。</p>

    <p>那麼,當越來越多的二線甚至三線城市迎接來了自己的地鐵,中國哪裡的地鐵是最擁擠的呢?</p>
</body>

</html>

補充:行間距測量技巧:上一行文字的底部與本行文字的底部之間的距離就是行間距。

4.6 文字屬性總結

屬性 表示 注意點
color 文字顏色 我們通常用 十六進位制 而且通常是簡寫形式 #fff(6 個一樣可以簡寫)
text-align 文字對齊 可以設定文字水平的對齊方式
text-indent 文字縮排 通常我們用於段落首行縮排2個字的距離 text-indent: 2em;
text-decoration 文字修飾 牢記 新增下劃線 underline 取消下劃線 none
line-height 行高 控制行與行之間的距離

五、CSS引入方式

5.1 CSS的三種引入方式

按照 CSS 樣式書寫的位置(或者引入的方式),CSS 樣式表可以分為三大類:

  • 行內樣式表(行內式)
  • 內部樣式表(嵌入式)
  • 外部樣式表(外鏈式)

5.2 行內樣式表

行內樣式表(內聯樣式表)是在元素標籤內部的 style 屬性中設定 CSS 樣式,適合於修改簡單樣式。

<div style="color: red; font-size: 12px;">
    青春不常在,抓緊談戀愛
</div>
  • style 其實就是標籤的屬性
  • 在雙引號中間,寫法要符合 CSS 規範
  • 可以控制當前的標籤設定樣式
  • 由於書寫繁瑣,並且沒有體現出結構與樣式相分離的思想,所以不推薦大量使用,只有對當前元素新增簡單樣式的時候,可以考慮使用
  • 使用行內樣式表設定 CSS,通常也被稱為 行內式引入

5.3 內部樣式表

內部樣式表(內嵌樣式表)時寫到 HTML 頁面內部,是將所有的 CSS 程式碼抽取出來,單獨放到一個 <style> 標籤中。

<style type="text/css">
    div {
        color: red;
        font-size: 12px;
    }
</style>
  • <style> 標籤理論上可以放在 HTML 文件的任何地方,但一般會放到文件的 <head> 標籤中
  • 目前的瀏覽器已經支援省略 type 屬性
  • 通過此種方式,可以方便控制當前整個頁面中的元素樣式設定
  • 程式碼結構清晰,但是並沒有實現結構與樣式完全分離
  • 使用內部樣式表設定 CSS,通常也被稱為 嵌入式引入,這種方式是我們練習時常用的方式

5.4 外部樣式表

實際開發都是外部樣式表,適合於樣式比較多的情況,核心是:樣式單獨寫到 CSS 檔案中,之後把 CSS 檔案引入到 HTML 頁面中使用。

引入外部樣式表分為兩步:

  • 新建一個字尾名為:.css 的樣式檔案,把所有的 CSS 程式碼都放入此檔案中
  • 在 HTML 頁面中,使用 <link> 標籤引入這個檔案
<link rel="stylesheet" type="text/css" href="css檔案路徑">
屬性 作用
rel 定義當前文件與被連結文件之間的關係,在這裡需要指定為 "stylesheet",表示被連結的文件是一個樣式表文件
type 定被連結文件的 MIME 型別,該屬性最常見的 MIME 型別是 "text/css",該型別描述樣式表,目前的瀏覽器已經支援省略 type 屬性
href 定義所連結外部樣式表文件的 URL,可以是相對路徑,也可以是絕對路徑

注意:使用外部樣式表設定 CSS,通常也被稱為 外鏈式連結式引入,這種方式是開發中常用的方式。

5.5 CSS引入方式總結

樣式表 優點 缺點 使用情況 控制範圍
行內樣式表(行內式) 書寫方便,權重高 結構樣式混寫 較少 控制一個標籤
內部樣式表(嵌入式) 部分結構和樣式分離 沒有徹底分離 較多 控制一個頁面
外部樣式表(外鏈式) 完全實現結構和樣式相分離 需要引入 最多,吐血推薦 控制多個頁面

【與我聯絡 - 周吉瑞(JERRY)】

printf("現實到要死的理想主義者\n");