柚子快報(bào)激活碼778899分享:【前端】零基礎(chǔ)學(xué)會(huì)編寫(xiě)CSS
柚子快報(bào)激活碼778899分享:【前端】零基礎(chǔ)學(xué)會(huì)編寫(xiě)CSS
一、什么是CSS
CSS?(Cascading Style Sheets,層疊樣式表)是一種是一種用來(lái)為結(jié)構(gòu)化文檔(如 HTML 文檔)添加樣式(字體、間距和顏色等)的計(jì)算機(jī)語(yǔ)言,能夠?qū)W(wǎng)頁(yè)中元素位置的排版進(jìn)行像素級(jí)別的精確控制,實(shí)現(xiàn)美化頁(yè)面的效果。
html決定一個(gè)頁(yè)面的結(jié)構(gòu),那么css就用來(lái)控制頁(yè)面的展示效果
二、CSS基本語(yǔ)法?
首先介紹基本的概念,CSS的基本語(yǔ)法由選擇器和聲明組成
選擇器用來(lái)決定修改誰(shuí)的樣式,聲明則決定了修改成什么樣子,每條聲明都是一個(gè)鍵值對(duì)
例如這個(gè)例子:
p {
color: red; /*設(shè)置字體顏色*/
font-size: 20px; /*設(shè)置字體大小*/
}
就是將所有
元素的文本都設(shè)置為紅色,字體大小為20px
一個(gè)樣式可以寫(xiě)在同一行,但是更推薦一個(gè)聲明一行的風(fēng)格,顯得沒(méi)那么擁擠
三、CSS的引入方式
CSS需要以一定的方式才能夠插入HTML中
3.1 內(nèi)部樣式表
將CSS寫(xiě)在style標(biāo)簽中,直接嵌入到HTML內(nèi)部
例如:
頁(yè)面內(nèi)容
這樣可以將CSS和HTML合并在一個(gè)文件中,一般將style標(biāo)簽放在HTML的head標(biāo)簽中,也能夠做到樣式與頁(yè)面結(jié)構(gòu)分離
不過(guò)這種方式分離的不夠徹底,當(dāng)CSS內(nèi)容很多時(shí)會(huì)顯得雜亂
3.2 行內(nèi)樣式表
這種方法相比上面的內(nèi)部樣式表,分離程度更低,但優(yōu)先級(jí)較高,且只針對(duì)單個(gè)標(biāo)簽生效
直接在某個(gè)標(biāo)簽中定義style屬性來(lái)指定該標(biāo)簽的樣式,但一般只適合寫(xiě)一些簡(jiǎn)單的樣式
例如:
行內(nèi)樣式表的優(yōu)先級(jí)較高,會(huì)覆蓋其他引入方式的樣式
3.3 外部樣式表
另外創(chuàng)建一個(gè)CSS文件,并使用link標(biāo)簽在HTML文件中引入該CSS文件,例如:
頁(yè)面內(nèi)容
這種方式的分離程度最高,是實(shí)際開(kāi)發(fā)中最常用的方式
四、選擇器
前面提到,選擇器決定了要對(duì)誰(shuí)的樣式進(jìn)行修改,我們必須選中了目標(biāo),才能設(shè)置屬性。
選擇器也有不同的種類(lèi)
4.1 基礎(chǔ)選擇器
(1)標(biāo)簽選擇器
前面的例子使用的就是標(biāo)簽選擇器,能夠快速的修改同一標(biāo)簽的所有元素,但無(wú)法進(jìn)行差異化修改
例如:
頁(yè)面內(nèi)容
(2)類(lèi)選擇器
定義某個(gè)元素的類(lèi)名,然后通過(guò)指定類(lèi)名來(lái)修改其樣式
例如:
測(cè)試
一些細(xì)節(jié)需要注意:
使用類(lèi)選擇器時(shí)類(lèi)名前需要帶點(diǎn)通過(guò)定義某元素的class屬性來(lái)定義其類(lèi)名一個(gè)類(lèi)名可以被多個(gè)元素同時(shí)使用,一個(gè)元素也可以同時(shí)使用多個(gè)類(lèi)名,多個(gè)類(lèi)名用空格分隔
例如:
測(cè)試
長(zhǎng)類(lèi)名可以用 - 分割不要用純數(shù)字、中文和標(biāo)簽名作為類(lèi)名
(3)id選擇器
定義某個(gè)元素的id,并通過(guò)指定id來(lái)修改其樣式
例如:
測(cè)試
id選擇器和類(lèi)選擇器相似,區(qū)別在于:
選擇器開(kāi)頭使用#而不是點(diǎn)id是唯一的,不能同時(shí)被多個(gè)元素使用,這是和類(lèi)選擇器最大的區(qū)別
(4)通配符選擇器
使用星號(hào) * 來(lái)選取所有的元素,例如:
頁(yè)面內(nèi)容
頁(yè)面中的所有文字都會(huì)被改成紅色
4.2 復(fù)合選擇器
(1)后代選擇器
也叫包含選擇器,用于選擇某個(gè)父元素的某個(gè)子元素
元素1 元素2 { 聲明 }
父子元素間要用空格分隔,前面的是父元素,后面的是子元素,只會(huì)修改子元素的樣式
多個(gè)元素間可以使用不同的基礎(chǔ)選擇器,例如元素1用類(lèi)選擇器,元素2用標(biāo)簽選擇器
例如:
- 1
- 2
- 3
元素2不一定非要是子元素,孫子輩的元素也可以
(2)并集選擇器
用于同時(shí)對(duì)多個(gè)目標(biāo)的樣式進(jìn)行修改,例如:
并集選擇器通過(guò)逗號(hào)分割不同的目標(biāo)。
任何基礎(chǔ)選擇器(如上面的類(lèi)選擇器)都可以使用并集選擇器
(3)偽類(lèi)選擇器
偽類(lèi)用于定義元素的特殊狀態(tài)
一些網(wǎng)頁(yè)上的鏈接,鼠標(biāo)沒(méi)放上去的時(shí)候是黑色的,但是我們把鼠標(biāo)放上去后就變?yōu)榱似渌伾?,這是如何做到的呢?
我們可以使用偽類(lèi)選擇器來(lái)實(shí)現(xiàn)這樣的效果,例如:
其中:
a:link代表未被訪問(wèn)過(guò)的鏈接a:visited代表已被訪問(wèn)過(guò)的鏈接a:hover代表鼠標(biāo)指針懸停處的鏈接a:active代表鼠標(biāo)按下但沒(méi)松開(kāi)的鏈接
上面的例子中,我們?cè)O(shè)置的鏈接未訪問(wèn)時(shí)是黑色字體的,將鼠標(biāo)放在上面就會(huì)變?yōu)樗{(lán)色,按下但不松開(kāi)時(shí)字體則會(huì)變?yōu)榧t色,點(diǎn)擊鏈接過(guò)后字體變?yōu)樽仙?/p>
在測(cè)試上面的例子時(shí),鏈接被訪問(wèn)后就會(huì)一直顯示紫色字體
如果我們要將一個(gè)被訪問(wèn)過(guò)的鏈接恢復(fù)為未訪問(wèn)的狀態(tài),則需要用ctrl+shift+delete清空瀏覽器歷史記錄
使用偽類(lèi)選擇器時(shí),需要注意按照l(shuí)ink-visited-hover-active的順序定義
除了鏈接我們還可以在其他元素上使用偽類(lèi),例如
?更多偽類(lèi)可以跳轉(zhuǎn):
CSS 偽類(lèi) (w3school.com.cn)https://www.w3school.com.cn/css/css_pseudo_classes.asp
五、常用元素屬性
知道該如何選擇修改的目標(biāo)后,我們還需要知道能夠修改目標(biāo)的哪些屬性
這里只對(duì)部分常用的屬性進(jìn)行介紹,更多屬性可以參考文檔
CSS 參考手冊(cè) (w3school.com.cn)https://www.w3school.com.cn/cssref/index.asp
5.1 設(shè)置字體屬性
(1)字體類(lèi)型
font-family:可以指定目標(biāo)字體的類(lèi)型,例如
字體名稱(chēng)可以用中文,但是推薦用英文
(2)字體大小
font-size:指定目標(biāo)字體的大小,例如
不同瀏覽器默認(rèn)字體大小不一樣,最好顯式定義一個(gè)明確值
注意,不要忘記帶單位px
(3)字體粗細(xì)
font-weight:指定目標(biāo)字體的粗細(xì),例如
字體粗細(xì)既可以用單詞表示,從粗到細(xì)分別是bolder、bold、normal、lighter
也可以用數(shù)字表示,取值范圍是100-900,400等同于normal,700等同于bold
(4)字體樣式
font-style:指定目標(biāo)字體的樣式(正?;蛐斌w),例如
5.2 設(shè)置文本屬性
(1)文本顏色
我們的顯示器是由很多像素構(gòu)成的,將每個(gè)像素視為一個(gè)點(diǎn),這個(gè)點(diǎn)就能反映出一個(gè)具體的顏色
紅綠藍(lán)(RGB)是色光三原色,將三個(gè)顏色按照不同的比例混合就能得到不同的顏色
計(jì)算機(jī)中針對(duì)RGB三個(gè)分量,分別使用一個(gè)字節(jié)(8個(gè)比特位,范圍是 0-255,十六進(jìn)制范圍是00-FF)表示,數(shù)值越大,該分量的顏色就越濃。
rgb(255,255,255)表示白色,rgb(0,0,0)表示黑色
在設(shè)置文本顏色時(shí),我們也可以通過(guò)不同的方式設(shè)置,例如:
color: rgb(255, 255, 255);
color: white;
color: #ffffff;
三者都表示白色
(2)文本對(duì)齊
text-align:控制文本水平方向的對(duì)齊,例如
其中center表示居中對(duì)齊,left表示左對(duì)齊,right表示右對(duì)齊
(3)文本裝飾
text-decoration:給文本加上下劃線等裝飾,例如
其中underline代表下劃線,none代表什么都不加,overline代表上劃線,line-through代表刪除線
(4)文本縮進(jìn)
text-indent:控制段落的首行縮進(jìn),例如
其中單位可以使用px或em,推薦使用em,1em代表一個(gè)當(dāng)前元素的文字大小
縮進(jìn)值可以是負(fù)數(shù),表示向左縮進(jìn)
(5)行高
line-height:控制上下文本行之間的距離,例如:
5.3 設(shè)置背景屬性
(1)背景顏色
background-color:設(shè)置元素的背景顏色,例如
對(duì)body的背景設(shè)置為紅色,整個(gè)頁(yè)面都變成紅色了,可以用來(lái)設(shè)置頁(yè)面的基調(diào)色
背景顏色和前面文本顏色一樣也可以用三種不同的方法設(shè)置
(2)背景圖片
background-image:將元素的背景設(shè)置為某張圖片,例如
設(shè)置背景圖片時(shí)的url既可以是絕對(duì)路徑,也可以是相對(duì)路徑
(3)背景重復(fù)
background-repeat:設(shè)置背景圖片該以何種方式在元素中填充
其取值如下:
no-repeat:元素內(nèi)背景圖片只重復(fù)一次,無(wú)論圖片是否填滿元素背景 repeat:元素內(nèi)背景圖片一直重復(fù)直到填滿元素背景 repeat-x:元素內(nèi)背景圖片只在x軸上重復(fù) repeat-y:元素內(nèi)背景圖片只在y軸上重復(fù)
no-repeat比較簡(jiǎn)單這里就不展示效果了,我們從repeat開(kāi)始
這是repeat的效果:
這是repeat-x的效果:
這是repeat-y的效果:
(4)背景圖片位置
background-position:修改圖片在元素中的位置,例如:
為了便于演示所以給div元素加上了邊框
background-position的參數(shù)有三種風(fēng)格:
方位單詞:top、left、right、bottom精確單位:坐標(biāo)或百分比(以左上角為原點(diǎn),前一個(gè)為x軸后一個(gè)為y軸)混合單位:同時(shí)包含方位和精確單位
(5)背景尺寸
background-size:設(shè)置背景的尺寸,例如
背景尺寸既可以填具體的數(shù)值(如20px 40px表示寬度為20px,高度為40px),也可以填百分比
還可以填cover(圖像完全覆蓋整個(gè)背景區(qū)域,可能導(dǎo)致圖像某些部分超出區(qū)域)或contain(圖像尺寸擴(kuò)展到最大但不超出背景區(qū)域)等單詞
更多元素屬性可以參考文檔
CSS 參考手冊(cè) (w3school.com.cn)https://www.w3school.com.cn/cssref/index.asp
完.
柚子快報(bào)激活碼778899分享:【前端】零基礎(chǔ)學(xué)會(huì)編寫(xiě)CSS
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。