前端之旅】CSS 三萬字總結(前端進階之旅)

      網友投稿 973 2025-04-01

      一名軟件工程專業學生的前端之旅,記錄自己對三件套(HTML、CSS、JavaScript)、jquery、Node.js、Vue、axios、小程序開發(uniapp)以及各種UI組件庫、前端框架的學習。

      【前端之旅】Web基礎與開發工具

      【前端之旅】HTML 大總結

      @[TOC](CSS 三萬字總結)

      一、CSS簡介

      1、什么是CSS

      CSS全稱Cascading Style Sheet 層疊樣式表

      是一組樣式設置的規則,用于控制頁面的外觀樣式

      2、CSS的好處及作用

      可以實現內容與樣式的分離,便于開發,樣式復用,便于網站的后期維護。

      頁面的精確控制,讓頁面更精美。

      頁面外觀美化:字體,顏色,邊距,高度,寬度,背景圖片,網頁定位,網頁浮動,布局和定位。

      3、CSS的初體驗

      CSS學習

      CSS測試

      效果如下:

      二、基本用法

      1、CSS語法模板

      1、CSS的定義是由三個部分構成:

      ① 選擇符(selector):樣式要應用于哪些元素

      ② 屬性(properties):何種樣式,如字體,顏色

      ③ 屬性的取值(value):樣式的取值:如12px

      2、基本格式如下:

      h1 {

      color: crimson;

      }

      (選擇符 { 屬性:值 })

      3、如果需要對一個選擇符指定多個屬性時,用分號將所有的屬性和值分開:

      p { text-align: center; color: red}

      (段落居中排列;并且段落中的文字為紅色)

      2、CSS引用方式

      CSS引用方式有三種方式:

      行內樣式(直接寫在標簽內)

      內部樣式(寫在style標簽內)

      外部樣式(使用外部.css文件)

      使用HTML標簽的style屬性定義,只對設置style屬性的標簽起作用,一般用于測試,不用于實際開發頁面中。

      優勢:直觀,很容易區分是給哪個標簽添加的樣式 。

      劣勢:代碼冗余,樣式過多的話,代碼的可讀性很差。

      CSS的引入方式

      我是一個段落標簽

      在頁面頭部< head > 標簽內通過style標簽定義,對當前頁面中所有符合樣式選擇器的標簽都起作用。

      優勢:實現了標簽和樣式的分離,讓代碼的可讀性更高。

      CSS的引入方式

      我是一個段落標簽

      使用單獨的 .css 文件定義,然后在頁面中使用 link標簽 或 @import指令 引入,最常用。

      引入方式:外部樣式(有兩種):鏈接式和導入式。

      優勢:實現了html文件和樣式的分離,讓代碼的可讀性更高,而且讓代碼的復用性也更高!

      index.css

      p{ color:red; font-size:30px }

      index.html

      CSS的引入方式

      我是一個段落標簽

      無論是外部樣式,內部樣式還是行內樣式,都會生效都能起到為標簽添加樣式,進行布局的作用。但是如果同時使用多種引入方式,就會產生覆蓋效果,后寫的樣式覆蓋先寫的樣式。

      一般自己寫案例時多使用內部樣式,這樣進行文件交換只發一個文件比較方便。 但在實際開發中我們基本不使用行內樣式,使用最多的是外部樣式引入方式!

      3、選擇器

      選擇器的用處:用于準確的選中元素(就是HTML種講的標簽),并賦予CSS樣式。

      作用:根據標簽的名字找到標簽,但是標簽選擇器會找到所有同名選擇器。

      標簽選擇器

      我是段落標簽1

      我是段落標簽2

      作用:通過標簽的class屬性,選擇對應的標簽元素,類選擇器的作用對多個標簽(往往需要相同的樣式)設置樣式,一個標簽可以設置多個class值,值與值之間用空格隔開,這個標簽會具有所有class包含的樣式。

      類選擇器

      我是段落標簽1

      我是段落標簽2

      我是段落標簽3

      作用:通過標簽的id屬性,選擇對應的元素。類選擇器可以選擇多個,因為class屬性不唯一,但是id選擇器只能選擇一個,因為id是唯一的。

      id選擇器

      我是段落標簽

      群組選擇器是可以同時選擇多個標簽的選擇器,全選擇器顧名思義就是選擇全部的標簽。

      群組選擇器

      我是段落標簽

      我是文本標簽

      我是一級標簽

      我是二級標簽

      我是三級標簽

      層次選擇器又分為后代選擇器、子代選擇器、相鄰選擇器、兄弟選擇器。層次選擇器是通過層次嵌套的關系進行選擇標簽的,塊狀標簽可以嵌套內聯標簽(行內元素)和其他塊狀標簽;內聯標簽只能嵌套文本和其他內聯標簽,但不能嵌套塊狀標簽。

      后代選擇器

      1. 我是有序列表1
      2. 我是有序列表2
      3. 我是有序列表3
        1. 我是有序列表11
        2. 我是有序列表22

      子代選擇器

      • 1
      • 2
      • 3
        • 11
        • 22
        • 33

      兄弟選擇器

      我是段落標簽1

      我是段落標簽2

      我是段落標簽3

      我是段落標簽4

      相鄰兄弟選擇器

      我是段落標簽1

      我是段落標簽2

      我是段落標簽3

      我是段落標簽4

      屬性選擇器

      我是段落標簽1

      我是段落標簽2

      我是段落標簽3

      我是段落標簽4

      偽(虛)類可以看做是一種特殊的類選擇符,是能被支持CSS的瀏覽器自動所識別的特殊選擇符。

      最常見的用處就是可以對鏈接在不同狀態下定義不同的樣式效果。

      格式 :選擇符:偽類 {屬性: 值}

      偽類和類不同,是CSS已經定義好的,不能像類選擇符一樣隨意用別的名字,根據上面的語法可以解釋為對象(選擇符)在某個特殊狀態下(虛類)的樣式。

      使用偽類設置鏈接不同狀態的樣式

      4種a(錨)元素的偽類,可表示鏈接在4種不同的狀態:link、visited、active、hover。

      如果要給一個元素加4個偽類,一定要遵守一個順序(link visited hover active)

      偽類選擇器 快去CSDN找孫不堅1208

      效果如下:

      狀態說明:初始時未點擊時是藍色,當鼠標放上去后(懸停狀態)是紅色,點擊狀態下是綠色,點擊后離開是粉紅色。

      選擇器權重:選擇器權重值高,則應用其選擇器樣式對標簽進行修飾。

      內聯樣式,如: style=” ”,權值為1000。

      ID選擇器,如:#content,權值為100。

      類、偽類和屬性選擇器,如.content,權值為10。

      標簽選擇器、層次選擇器、偽元素選擇器,如div p,權值為1。

      !important(并不是選擇器而是修飾某個樣式的值)>id選擇器 > 類選擇器> 標簽選擇器> 通配符選擇器

      權重高低通過精確度評判,精確度越高,權重越大。

      復合選擇器的權重計算方式一:

      將基本選擇器的權重相加之和,就是權重大小,值越大,權重越高。

      比如:

      #box ul li a .cur 權重是 100+1+1+1+10 = 113

      #box li .cur 權重是 100+1+10 = 111

      那么后面的樣式就會被前面的樣式層疊掉,那么最終a的顏色是red

      【前端之旅】CSS 三萬字總結(前端進階之旅)

      復合選擇器的權重計算方式二:

      4個0計算方式 (0,0,0,0)分別對應(行內式個數,id選擇器個數,類選擇器個數,標簽選擇器個數)

      兩個選擇器通過對比4個數的大小,確定權重關系,如何理解?

      例如:#box ul li a .cur 有1個id,3個標簽,1個類 那么 4個0 就是 (0,1,1,3)

      例如:.nav ul .active .cur 有0個id,1個標簽,3個類 那么 4個0 就是 (0,0,3,1)

      怎么比較大小呢?

      先比較第一個數,兩個都是0,所以對比第二個數,因為第一個選擇器第二個數是1,而后一個選擇器權重是0所以前面的選擇器權重大。

      4、設置字體樣式

      常用的字體樣式主要有5種:字體顏色 、字體樣式、字體大小、字體粗細、字體傾斜

      字體的常用樣式

      這是第一個段落標簽

      這是第二個段落標簽

      這是第三個段落標簽

      5、設置文本樣式

      常用的文本樣式主要有8種:對齊方式 、行高、縮進、文本線處理、字距詞距、文本換行、內容文本溢出處理。

      常用文本

      我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落 我是一個段落我是一個段落

      我是一個即將被改造的鏈接

      行高的應用:通過行高等于高度,實現單行文本居中對齊。

      6、設置背景樣式

      常用背景樣式中有5個主要的背景屬性:

      background-color: 指定填充背景的顏色。

      background-image: 引用圖片作為背景。

      background-position: 指定元素背景圖片的位置。

      background-repeat: 決定是否重復背景圖片。

      background-attachment: 決定背景圖是否隨頁面滾動。

      常用背景樣式

      這里是用來放置背景的哦

      背景定位(background-position)

      background-position 屬性(background-position: 值1 值2)用來控制背景圖片在元素中的位置,實際上指定的是圖片左上角相對于元素左上角的位置。

      下面的例子中,設置了一個背景圖片并且設置了 background-repeat 為 no-repeat,用 background-position 屬性來控制它的位置,其中第一個數字表示 x 軸(水平)位置,第二個是 y 軸(垂直) 位置。

      /* 例 1: 默認值 */background-position: 0 0; 例 2: 把圖片向右移動 */background-position: 75px 0; 例 3: 把圖片向左移動*/background-position: -75px 0; 例 4: 把圖片向下移動 */background-position: 0 100px; */

      background-position 屬性可以用其它數值,比如關鍵詞和百分比來指定,這比較實用,尤其是在元素尺寸不是用像素設置時。

      關鍵詞:通過設置X軸與Y軸來進行圖片定位。

      x 軸上:left center right

      y 軸上:top center bottom

      百分數:瀏覽器是以元素的百分比數值來設置圖片的位置的。順序方面和使用像素值時的順序幾乎一樣,首先是 x 軸,其次是 y 軸

      background-position: right top;background-position: 100% 50%;

      7、設置列表樣式

      ul li :list-style

      none:去掉原點

      circle:空心圓

      decimal:數字

      square:正方形

      設置列表樣式

      三、盒子模型

      在Html學習中,我們知道Html中的每個元素(標簽),都有自己的大小(占地面積),了解每個元素的大小,有助于我們更好的對頁面進行布局,通過盒子模型的特征進行布局,是HTML布局的主要方式之一。

      什么是盒子模型?

      可以把頁面上的每一個元素看成一個盒子,這是一個抽象的概念。

      盒子模型的組成:盒子模型由內容(通過width和height指定的大小區域),內邊距(內容區域和外框之間的空隙),邊框(border)和外邊距(當前元素和其他元素之間的距離)組成。

      盒子由外邊距、邊框、內邊距和內容組成

      背景應用于由內容和內邊距、邊框組成的區域

      width 和 height 指的是內容區域的寬度和高度

      盒子實際占有寬度(或高度)為“內容+內邊距+邊框+外邊距”。

      1、盒子模型之內容

      content:盒子里的“物品”,即盒子模型必須有的部分,可以是文字、圖片、超鏈接,或其它盒子等。

      內容的大小由寬度和高度屬性定義

      對于塊級(display: block)元素:(缺省的寬度為充滿父元素寬度,缺省的高度為內容的高度)可以通過定義寬度和高度改變大小。

      對于行內 (display: inline)元素:(缺省的寬度為內容的寬度,缺省的高度為內容的高度)不可以通過定義寬度和高度改變大小。

      常見的塊級元素:

      ,

      ,

      ,

      相關文章
      亚洲一区二区三区乱码在线欧洲| 亚洲色四在线视频观看| 久久久久亚洲AV成人片| 亚洲精品午夜无码电影网| 亚洲人妻av伦理| 亚洲七七久久精品中文国产| 亚洲国产a级视频| 亚洲国产中文v高清在线观看| 国产成人高清亚洲一区91| 亚洲AV无码一区二区一二区| 亚洲AV无码专区亚洲AV桃| 亚洲hairy多毛pics大全| 亚洲老熟女五十路老熟女bbw| 亚洲人成色99999在线观看| 亚洲综合色一区二区三区| 亚洲 日韩 色 图网站| 亚洲欧洲日韩极速播放| 亚洲愉拍一区二区三区| 亚洲色无码专区一区| 亚洲AV无码专区在线电影成人 | 亚洲精品福利视频| 亚洲最大成人网色| 久久久亚洲欧洲日产国码是AV| 91亚洲自偷手机在线观看| 亚洲第一成年人网站| 亚洲一欧洲中文字幕在线| 亚洲午夜一区二区三区| 亚洲精品无码不卡在线播放| 国产精品亚洲а∨天堂2021| 亚洲毛片不卡av在线播放一区| 中文字幕精品亚洲无线码一区| 亚洲人精品午夜射精日韩| 亚洲AV无码AV男人的天堂| 亚洲精品在线播放视频| 亚洲国产日韩视频观看| 久久久久亚洲精品无码网址色欲 | 亚洲成A人片在线观看无码3D | 亚洲av无码专区在线| 亚洲丁香婷婷综合久久| 亚洲国产成人精品91久久久| 亚洲中文字幕伊人久久无码|