1.CSS簡介
CSS的主要使用場景就是美化網(wǎng)頁倔矾,布局頁面的。
1.1HTML的局限性
說起 HTML柱锹,這其實是個非常單純的家伙哪自,他只關(guān)注內(nèi)容的語義。 比如<h1>
表明這是一個大標題禁熏,<p>
表明這是一個段落壤巷,<img>
表明這兒有一個圖片,<a>
表示此處有鏈接匹层。很早的時候隙笆,世界上的網(wǎng)站雖然很多,但是他們都有一個共同的特點:丑升筏。 雖然 HTML 可以做簡單的樣式撑柔,但是帶來的是無盡的臃腫和繁瑣……
1.2CSS-網(wǎng)頁的美容師
CSS 是層疊樣式表 ( Cascading Style Sheets ) 的簡稱.
有時我們也會稱之為 CSS 樣式表或級聯(lián)樣式表。
CSS 是也是一種標記語言
CSS 主要用于設(shè)置 HTML 頁面中的文本內(nèi)容(字體您访、大小铅忿、對齊方式等)、 圖片的外形(寬高灵汪、邊框樣式檀训、邊距等)以及版面的布局和外觀顯示樣式柑潦。
CSS 讓我們的網(wǎng)頁更加豐富多彩,布局更加靈活自如峻凫。簡單理解:CSS 可以美化 HTML , 讓 HTML 更漂亮渗鬼,讓頁面布局更簡單。
總結(jié):
HTML主要做結(jié)構(gòu)荧琼,顯示元素內(nèi)容譬胎;
CSS美化HTML,布局網(wǎng)頁命锄。
CSS最大價值:由HTML專注去做結(jié)構(gòu)呈現(xiàn)堰乔,樣式交給CSS,即結(jié)構(gòu)(HTML)與樣式(CSS)相分離脐恩。
1.3CSS語法規(guī)范
使用HTML時镐侯,需要遵循一定的規(guī)范,CSS也是如此驶冒。要想熟練使用CSS對網(wǎng)頁進行修飾苟翻,首先需要了解CSS樣式規(guī)則。
CSS規(guī)則由兩個主要的部分構(gòu)成:選擇器以及一條或者多條聲明只怎。
選擇器是用于指定CSS樣式的HTML標簽袜瞬,花括號內(nèi)是對該對象設(shè)置的具體樣式;
屬性和屬性值以“鍵值對”的形式出現(xiàn)身堡;
屬性是對指定的對象設(shè)置的樣式屬性,例如字體大小拍鲤、文本顏色等贴谎;
屬性和屬性值之間用英文“:”分開;
多個鍵值對之間用英文“季稳;”進行區(qū)分擅这;
所有的樣式,都包含在<style>
標簽內(nèi)景鼠,表示是樣式表仲翎。<style>
一般寫到<head>
上方。
<head>
<style>
h4{
color:blue;
font-size:100px;
}
</style>
</head>
1.4CSS代碼風格
以下代碼書寫風格不是強制規(guī)范铛漓,而是符合實際開發(fā)書寫方式溯香。
樣式格式書寫
樣式大小寫書寫
樣式空格風格
1.4.1樣式格式書寫
- 緊湊格式
h3{color:pink;font-size:20px;}
- 展開格式
h3{
color:pink;
font-size:20px;
}
強烈推薦第二種格式,因為更直觀
1.4.2樣式大小寫
h3{
color:pink;
}
H3{
COLOR:PINK;
}
強烈推薦樣式選擇器浓恶、屬性名玫坛、屬性值關(guān)鍵字全部用小寫字母,特殊情況除外
1.4.3空格規(guī)范
h3{
color: pink;
}
屬性值前面包晰,冒號后面湿镀,保留一個空格炕吸;
選擇器(標簽)和大括號中間保留空格;
2.CSS基礎(chǔ)選擇器
2.1CSS選擇器的作用
<div>我是div</div>
<p>我是p</p>
<ul>
<li>我是ul里面的li</li>
</ul>
<ol>
<li>我是ol李敏的小li</li>
</ol>
我想把div里面的文字改成紅色勉痴?
我想把第一個div里面的文字改成紅色赫模?
我想把ul里面的li文字改成紅色?
選擇器就是根據(jù)不同需求把不同的標簽選出來這就是選擇器的作用蒸矛。簡單來說嘴瓤,就是選擇標簽用的。
以上是CSS做了兩件事:
找到所有的h1標簽莉钙。選擇器(選對人);
設(shè)置這些標簽的樣式廓脆。比如顏色為紅色(做對事);
2.2選擇器分類
選擇器分為基礎(chǔ)選擇器和復合選擇器兩個大類;
基礎(chǔ)選擇器是由單個選擇器組成的磁玉;
基礎(chǔ)選擇器又包括:標簽選擇器停忿、類選擇器、id選擇器和通配符選擇器蚊伞;
2.3標簽選擇器
標簽選擇器是指用HTML標簽名稱作為選擇器席赂,按照標簽名稱分類,微頁面中某一類標簽指定統(tǒng)一的CSS樣式时迫。
語法
標簽名{
屬性1: 屬性值1颅停;
屬性2: 屬性值2;
掠拳。癞揉。。
}
作用
標簽選擇器可以把某一類標簽全部選擇出來溺欧,比如所有的<div>
標簽和所有的<span>
標簽喊熟。
優(yōu)點
能快速為頁面中同類型的標簽統(tǒng)一設(shè)置樣式。
缺點
不能設(shè)計差異化樣式姐刁,只能選擇全部的當前標簽芥牌。
2.4類選擇器
如果想要差異化選擇不同的標簽,單獨選一個或者某幾個標簽聂使,可以使用類選擇器壁拉;
語法
.類名{
屬性1:屬性值1;
柏靶。弃理。。
}
例如宿礁,將所有擁有red類的HTML元素均為紅色案铺。
.red{
color: red;
}
<div class="red">變紅色</div>
類選擇器在HTML中以class屬性表示,在CSS中,類選擇器以一個點“.”號顯示控汉。
注意:
類選擇器使用"."進行標識笔诵,后面緊跟類名(自定義);
可以理解為給這個標簽起了一個名字姑子,來表示乎婿;
長名稱或者詞組可以使用中橫線來為選擇器命名;
不要使用純數(shù)字街佑、中文等命名谢翎,盡量使用英文字母來表示;
命名要有意義沐旨,盡量使別人一眼就知道這個類名的目的森逮;
命名規(guī)范:見附件(web前端開發(fā)規(guī)范手冊.doc)
記憶口訣:樣式點定義,結(jié)構(gòu)類調(diào)用磁携。一個或多個褒侧,開發(fā)最常用。
課堂案例
2.4.1類選擇器-多類名
我們可以給一個標簽指定多個類名谊迄,從而達到更多的選擇的目的闷供。這些類名都可以選出這個標簽。
簡單理解就是一個標簽有多個名字统诺。
2.4.1.1多類名使用方式
<div class="red font20">亞瑟</div>
在標簽class屬性中寫多個類名歪脏;
多個類名中間必須用空格分開;
這個標簽就可以分別具有這些類名的樣式粮呢;
2.4.1.2多類名開發(fā)中使用場景
可以把一些標簽原色相同的樣式放到一個類里面婿失;
這些標簽都可以調(diào)用這個公共的類,然后在調(diào)用自己獨有的類鬼贱;
從而節(jié)省CSS代碼移怯,統(tǒng)一修改也非常方便;
2.4.2類選擇器總結(jié)
<div class="pink fontWeight font20">亞瑟</div>
<div class="font20">劉備</div>
<div class="font14 pink">安其拉</div>
<div class="font14">貂蟬</div>
各個類名中間用空格隔開这难;
簡單理解:就是給某個標簽添加了多個分類,或者這個標簽有多個名字葡秒;
這個標簽就可以分別具有這些類名的樣式姻乓;
從而節(jié)省CSS代碼,統(tǒng)一修改頁非常方便眯牧;
多類名選擇器在后期布局比較復雜的情況下蹋岩,還是比較多使用。
2.5id選擇器
id選擇器可以為標有特定id的HTML元素指定特定樣式学少。
HTML元素以id屬性來設(shè)置id選擇器剪个,CSS中id選擇器以“#”來定義。
語法:
#id{
屬性1:屬性值1版确;
扣囊。乎折。。
}
例如:將id為nav元素中的內(nèi)容設(shè)置成紅色侵歇。
#nav{
color: red;
}
id選擇器與類選擇器的區(qū)別
類選擇器好比人的名字骂澄,一個人可以有很多個名字,同時一個名字也可以被多人使用惕虑;
id選擇器好比人的身份證號碼坟冲,全中國唯一的,不得重復溃蔫;
id選擇器和類選擇器最大的不同在于使用次數(shù)上健提;
類選擇器在修改樣式中用的最多,id選擇器一般用于頁面唯一性元素上伟叛,經(jīng)常和JavaScript搭配使用私痹;
2.6通配符選擇器
在CSS中,通配符選擇器使用“*”定義痪伦,它表示選取頁面中所有元素(標簽)侄榴。
語法:
*{
屬性1:屬性值1;
网沾。癞蚕。。
}
通配符選擇器不需要調(diào)用辉哥,自動就給所有的元素使用樣式桦山;
特殊情況下才使用,后面講解適用場景醋旦;
*{
margin:0;
padding:0;
}
2.7基礎(chǔ)選擇器總結(jié)
基礎(chǔ)選擇器 | 作用 | 特點 | 使用情況 | 用法 |
---|---|---|---|---|
標簽選擇器 | 可以選出所有相同的標簽 | 不能差異化選擇 | 較多 | p{color:red} |
類選擇器 | 可以選出1個或者多個標簽 | 可以根據(jù)需求選擇 | 非常多 | .nav{color:red} |
id選擇器 | 一次只能選擇一個標簽 | id屬性只能在每個HTML文檔中出現(xiàn)一次 | 一般和js搭配 | #nav{color:red} |
通配符選擇器 | 選擇所有的標簽 | 選擇的太多恒水,有部分不需要 | 特殊情況下使用 | *{color:red} |
3.CSS字體屬性
CSS Fonts(字體)屬性用于定義字體序列、大寫饲齐、粗細钉凌、和字體樣式(如斜體)。
3.1字體系列
CSS使用font-family屬性定義文本的字體系列捂人。
p{font-family:"微軟雅黑";}
div{font-family:Arial,"Microsoft YaHei";"微軟雅黑";}
各種字體之間必須使用英文狀態(tài)下的逗號分開御雕;
一般情況下,如果有空格隔開的多個單詞組成的字體滥搭,加引號酸纲;
盡量使用系統(tǒng)默認自帶字體,保證在任何用戶的瀏覽器中都能正確顯示瑟匆;
最常見的幾個字體:body{font-fanily:“Microsoft YaHei”}
3.2字體大小
CSS使用font-size屬性定義字體大小
p{
font-size:20px;
}
px(像素)大小是我們網(wǎng)頁的最常用的單位闽坡;
谷歌瀏覽器默認的文字大小為16px;
不同瀏覽器可能默認顯示的字號大小不一致,我們盡量給一個明確值大小,不用使用默認大屑残帷外厂;
可以給body指定整個頁面文字的大小宪迟;
3.3字體粗細
CSS使用font-weight屬性設(shè)置文本字體的粗細
p{
font-weight:bold;
}
屬性值 | 描述 |
---|---|
normal | 默認值(不加粗) |
bold | 定義粗體(加粗) |
100-900 | 400等同于normal酣衷,而700等同于bold,這個數(shù)字后面不跟單位 |
學會讓加粗標簽(比如h和strong等)不加粗次泽,或者其它標簽加粗
實際開發(fā)時穿仪,更喜歡用數(shù)字表示粗細
3.4文字樣式
CSS使用font-style屬性設(shè)置文本的風格
p{
font-weight:bold;
}
屬性值 | 作用 |
---|---|
normal | 默認值,瀏覽器會顯示標準的字體樣式 |
italic | 瀏覽器會顯示斜體的字體樣式 |
我們平時很少給字體加斜體意荤,一般要給斜體的標簽改為不傾斜字體
3.5復合屬性
字體屬性可以把以上文字樣式綜合來寫啊片,這樣可以更加節(jié)約代碼
body{
font:font-style font-weight font-size/line-hight font-family;
}
使用font屬性時,必須按照以上語法規(guī)范格式中的順序書寫玖像,不能更換順序紫谷,并且每個屬性間以空格隔開;
不需要設(shè)置的屬性可以忽略(取默認值)捐寥,但是必須保留font-size和font-family屬性笤昨,否則font屬性將不起作用;
3.6字體屬性總結(jié)
屬性 | 表示 | 注意點 |
---|---|---|
font-size | 字號 | 我們通常用的單位是px像素握恳,一定要跟上單位瞒窒; |
font-family | 字體 | 實際工作中按照團隊約定來寫字體; |
font-weight | 字體粗細 | 記住加粗是700或者bold乡洼,不加粗是normal或者400 記住數(shù)字是不跟單位的崇裁; |
font-style | 字體樣式 | 記住傾斜是italic,不傾斜是normal束昵,工作中我們常用的是normal拔稳; |
font | 字體連寫 | 1.字體連寫是有順序的;2.其中字號和字體是必須出現(xiàn)的 |
字體復合屬性如何寫锹雏?里面有什么注意細節(jié)巴比?
如果讓加粗的文字不加粗顯示,如何讓傾斜的文字不傾斜顯示礁遵?
4.CSS文本屬性
CSS Text(文本)屬性可定義文本的外觀匿辩、比如文本的顏色、文本對齊方式榛丢、裝飾文本、文本縮進挺庞、行間距等晰赞。
4.1文本顏色
color屬性用于定義文本的顏色。
div{
標識 | 屬性值 |
---|---|
預定義的顏色值 | red,green掖鱼,blue然走,還有我們御用的pink |
十六進制 | #FF0000,#FF6600 |
RGB代碼 | rgb(255,0,0)或者rgb(100%,0%,0%) |
開發(fā)中最常用的是十六進制代碼
4.2對齊方式
text-align屬性用于社會元素內(nèi)文本內(nèi)容的水平對其方式戏挡。
div{
text-align: center;
}
屬性值 | 解釋 |
---|---|
left | 左對齊 |
center | 居中對其 |
right | 右對齊 |
4.3裝飾文本
text-decoration屬性規(guī)定添加到文本的裝飾芍瑞,可以給文本添加下劃線、刪除線褐墅、上劃線等拆檬。
div{
text-decoration: underline;
}
屬性值 | 描述 |
---|---|
none | 默認。沒有裝飾線(最常用) |
underline | 下劃線妥凳。鏈接a自帶下劃線(常用) |
overline | 上劃線(幾乎不用) |
line-through | 刪除線(不常用) |
pink老師總結(jié):重點記住如何添加下劃線和如何刪除下劃線竟贯。
4.4文本縮進
text-indent屬性用來指定文本的第一行的縮進,通常是將段落的首行縮進逝钥。
div{
text-indent: 10px;
}
通過設(shè)置該屬性屑那,所有元素的第一行都可以縮進一個給定的長度,甚至該長度可以是負值艘款。
p{
text-indent: 2em;
}
em是一個相對單位持际,就是當前元素(font-size)1個文字的大小,如果當前元素沒有設(shè)置大小哗咆,則會按照父元素的1個文字大小蜘欲。
4.5行間距
line-hight屬性用于設(shè)置行間的距離(行高).可以控制文字行與行之間的距離。
p{
line-hight: 26px;
}
4.6文本屬性總結(jié)
屬性 | 表示 | 注意點 |
---|---|---|
color | 文本顏色 | 我們通常使用十六進制 |
text-align | 文本對齊 | 可以是丁文字水平的對齊方式 |
text-indent | 文本縮進 | 通常我們用于段落首行縮進兩個字符岳枷;text-indent:2em; |
text-decoration | 文本修飾 | 記住下劃線underline芒填,取消下劃線none |
line-hight | 行高 | 控制行與行之間的距離 |
5.CSS的引入方式
5.1CSS的三種樣式表
按照CSS樣式書寫的位置(或者引入的方式),css樣式表可以分為三大類:
行內(nèi)樣式表(行內(nèi)式)
內(nèi)部樣式表(嵌入式)
外部樣式表(鏈接式)
5.2內(nèi)部樣式表
內(nèi)部樣式表是寫到HTML頁面內(nèi)部空繁,是將所有的CSS代碼抽取出來殿衰,單獨放到一個<style>
標簽中。
<style>
div{
color: red;
font-size: 12px;
}
</style>
<style>
標簽理論上可以放在HTML文檔的任何地方盛泡,但一般會放在文檔的<head>
標簽中闷祥。通過此種方式,可以方便控制當前整個頁面中的元素樣式設(shè)置傲诵。
代碼結(jié)構(gòu)清晰凯砍,但是并沒有實現(xiàn)結(jié)構(gòu)與樣式完全分離。
使用內(nèi)部樣式表設(shè)定CSS拴竹,通常也被稱為嵌入式引入悟衩,這種方式是我們練習時常用的方式。
5.3行內(nèi)樣式表
行內(nèi)樣式表是在元素標簽內(nèi)部的style屬性中設(shè)定CSS樣式栓拜。適合于修改簡單樣式座泳。
<div style="color:red; font-size:12px">青春不常在惠昔,抓緊談戀愛</div>
style屬性其實就是標簽的屬性;
在雙引號中間挑势,寫法要符合CSS規(guī)范镇防;
可以控制當前的標簽設(shè)置樣式;
由于書寫繁瑣潮饱,并且沒有體現(xiàn)出結(jié)構(gòu)與樣式分離的思想来氧,所以不推薦大量使用,只有對當前元素添加簡單樣式的時候香拉,可以考慮使用啦扬;
使用行內(nèi)樣式表設(shè)定CSS,通常也被稱為行內(nèi)式引入缕溉;
5.4外部樣式表
實際開發(fā)過程中都是外部樣式表考传,適合于樣式比較多的情況,核心是樣式單獨寫道CSS文件中证鸥,之后把CSS文件引入到HTML頁面中使用僚楞。
引入外部樣式表分為兩步:
新建一個后綴名為.css的樣式文件,把所有CSS代碼都放入到此文件中枉层;
在HTML頁面中泉褐,使用
<link>
標簽引入這個文件。
<link rel="stylesheet" href="css文件路徑">
屬性 | 作用 |
---|---|
rel | 定義當前文件與被連接文檔之間的關(guān)系鸟蜡,在這里需要指定為"stylesheet"膜赃,表示被連接的文檔是一個樣式表文件; |
href | 定義所鏈接外部樣式表文件的url揉忘,可以是相對路徑跳座,也可以是絕對路徑; |
使用外部樣式表設(shè)定CSS泣矛,通常也被稱之為外鏈式或者鏈接式引入疲眷,這種方式是開發(fā)中常用的方式。
5.5CSS引入方式總結(jié)
樣式表 | 優(yōu)點 | 缺點 | 使用情況 | 控制范圍 |
---|---|---|---|---|
行內(nèi)樣式表 | 書寫方便您朽、權(quán)重高 | 結(jié)構(gòu)樣式混寫 | 較少 | 控制一個標簽 |
內(nèi)部樣式表 | 部分結(jié)構(gòu)和樣式相分離 | 沒有徹底分離 | 較多 | 控制一個頁面 |
外部樣式表 | 完全實現(xiàn)結(jié)構(gòu)和樣式相分離 | 需要引入 | 最多 | 控制多個頁面 |
6.綜合案例
案例:新聞頁面
制作頁面整體可以分為兩步:
搭建HTML結(jié)構(gòu)頁面狂丝;
修改CSS樣式;
7.Chrome調(diào)試工具
Chrome 瀏覽器提供了一個非常好用的調(diào)試工具哗总,可以用來調(diào)試我們的 HTML 結(jié)構(gòu)和 CSS 樣式几颜。
7.1打開調(diào)試工具
打開Chrome瀏覽器,按下F12或者右擊頁面空白處->檢查讯屈。
7.2使用調(diào)試工具
Ctrl+滾輪可以反打開發(fā)者工具代碼大械翱蕖;
左邊是HTML元素結(jié)構(gòu)涮母,右邊是CSS樣式具壮;
右邊CSS樣式可以改動數(shù)值(左右箭頭或者直接輸入)和查看顏色准颓;
Ctrl+0復原瀏覽器大小棺妓;
如果點擊元素,發(fā)現(xiàn)右側(cè)沒有樣式引入炮赦,極有可能是類名或者樣式引入錯誤怜跑;
如果有樣式,但是樣式前面有黃色感嘆號提示吠勘,則是樣式屬性書寫錯誤性芬;