css的三種引入方式:1、行內(nèi)式引入,使用style屬性在特定的HTML標(biāo)記內(nèi)插入CSS代碼,語法“<標(biāo)簽名 style="css樣式">..</標(biāo)簽名>”;2、嵌入式引入,在文檔head部分的style標(biāo)簽對中放入CSS代碼,語法“<style>樣式</style>”;3、外部引入,將CSS代碼放入外部CSS文件中,使用link標(biāo)簽或“@import”規(guī)則引入html文檔中。
前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
CSS:層疊樣式表是一種用來表現(xiàn)HTML或XML等文件樣式的計(jì)算機(jī)語音。CSS不僅可以靜態(tài)地修飾網(wǎng)頁,還可以配合各種腳本語言動態(tài)地對網(wǎng)頁各元素進(jìn)行格式化,CSS能夠?qū)W(wǎng)頁中元素位置的排版進(jìn)行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網(wǎng)頁對象和模型樣式編輯的能力
CSS的基本語法:
CSS規(guī)則由兩個(gè)主要的部分構(gòu)成:選擇器,以及一條或多條聲明,選擇器通常是需要改變樣式的HTML元素,每條聲明是由一個(gè)屬性和一個(gè)值組成。
1、選擇器(Selector)
選擇器由 HTML 元素的 id、class 屬性或元素名本身以及一些特殊符號構(gòu)成,用來指定要為哪個(gè) HTML 元素定義樣式,例如選擇器p就表示為頁面中的所有<p>標(biāo)簽定義樣式;
2、聲明(Declaration)
聲明可以有一個(gè)或者無數(shù)個(gè),這些聲明告訴瀏覽器如何去渲染選擇器指定的對象。所有聲明被放置在一對大括號{ }內(nèi),然后整體緊鄰選擇器的后面。
聲明必須包括兩部分:屬性和屬性值,并用分號來標(biāo)識一個(gè)聲明的結(jié)束,在一個(gè)樣式中最后一個(gè)聲明可以省略分號。
-
屬性:您希望給 HTML 元素設(shè)置的樣式名稱,由一系列關(guān)鍵詞組成,例如 color(顏色)、border(邊框)、font(字體)等,CSS 中提供了眾多屬性,您可以通過 W3C 官網(wǎng)查看;
-
值:由數(shù)值和單位或者關(guān)鍵字組成,用來控制某個(gè)屬性的顯示效果,例如 color 屬性的值可以是 red 或 #F1F1F1 等。
屬性和值之間需要使用冒號:進(jìn)行分隔,每個(gè)屬性和值的組合可以看作一個(gè)聲明,每個(gè)聲明的末尾都需要使用分號;作為結(jié)尾,屬于同一選擇器的聲明需要使用花括號{ }包裹起來。
CSS引入的三種形式
1、行內(nèi)樣式表(行內(nèi)式引入)
將style屬性直接加在單個(gè)的HTML元素標(biāo)簽上,控制HTML標(biāo)簽的表現(xiàn)樣式。
這種引入CSS的方式是分散靈活方便,但缺乏整體性和規(guī)劃性,不利于后期的修改和維護(hù),當(dāng)需要修改網(wǎng)站的樣式時(shí),一個(gè)相同的修改可能涉及多個(gè)地方,維護(hù)成本高。使用STYLE屬性的樣式效果最強(qiáng),會覆蓋掉其它幾種引入方式的相同樣式效果。
<!DOCTYPE html> <html> <head> </head> <body> <h1 style="color: maroon; margin-left: 40px">PHP中文網(wǎng)</h1> <p style="color: blue;">https://www.php.cn/</p> </body> </html>
行內(nèi)式(內(nèi)聯(lián)樣式)雖然可以很方便的為 HTML 標(biāo)簽賦予 CSS 樣式,但它的缺點(diǎn)也非常明顯,不推薦過多使用。
-
定義內(nèi)聯(lián)樣式需要在每個(gè) HTML 標(biāo)簽中定義 style 屬性,很不方便;
-
在內(nèi)聯(lián)樣式中使用雙引號或單引號時(shí)要特別小心,因?yàn)?HTML 標(biāo)簽的屬性通常都會使用雙引號來包裹屬性的值,例如<input type="text">;
-
在內(nèi)聯(lián)樣式中定義的樣式不能再其它任何地方重用;
-
內(nèi)聯(lián)樣式在后期維護(hù)時(shí)很不方便,因?yàn)橐粋€(gè)網(wǎng)站通常有很多頁面組成,當(dāng)修改頁面樣式時(shí)需要對頁面逐個(gè)修改;
-
添加過多的內(nèi)聯(lián)樣式會導(dǎo)致 HTML 文檔的體積增大。
2、內(nèi)部樣式表(嵌入式引入)
將樣式代碼寫在頁面<style>…</style>標(biāo)簽之中
<style> bdoy{font-size:14px;} </style>
<style>...</style>
標(biāo)簽結(jié)構(gòu)可以位于頁面<HTML>標(biāo)簽中的任何位置,也可以多次出現(xiàn)。通常是將整個(gè)<style>…</style>結(jié)構(gòu)寫在頁面的<head>…</head>部分中。這種引入CSS方式的特點(diǎn)是每個(gè)頁面的CSS代碼可能具有統(tǒng)一性和規(guī)劃性,一個(gè)頁面內(nèi)部便于復(fù)用和維護(hù),但多個(gè)頁面之間的CSS代碼復(fù)用仍然不夠。
<!DOCTYPE html> <html> <head> <style> body { background-color: linen; } h1 { color: maroon; margin-left: 40px; } </style> </head> <body> <h1>PHP中文網(wǎng)</h1> <p>https://www.php.cn/</p> </body> </html>
因?yàn)閮?nèi)嵌樣式表需要將 CSS 樣式定義在 HTML 文檔的內(nèi)部,所以會導(dǎo)致文檔的體積變大,而且當(dāng)有其它文檔也需要使用內(nèi)嵌樣式表中同樣的樣式時(shí),無法引入到其他文檔,必須在其它文檔中重新定義,會導(dǎo)致代碼冗余,不利于后期維護(hù)。
3、外部樣式表(外部引入)
在實(shí)際的開發(fā)種都用于外部樣式表。適合樣式較多的情況。樣式單獨(dú)的寫到CSS文件中,之后把CSS文件引入到HTML中使用。
1)、使用link
鏈接樣式是指在外部定義CSS樣式表并形成以.CSS為擴(kuò)展名文件,然后在頁面中通過<link>
鏈接標(biāo)記鏈接到頁面中,而且該鏈接語句必須放在頁面的<head>標(biāo)記區(qū)。
語法:
<link type="text/css" rel="styleSheet" href="CSS文件路徑" />
2)、使用@import
導(dǎo)入式是通過@import
在<style>標(biāo)簽中進(jìn)行聲明的
語法:
<style type="text/css"> @import url("css文件路徑"); </style>
簡單實(shí)例:
css外部樣式表 style.css
h1{ color:red; } p{ font-size:14px; color:green; }
HTML文檔
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link type="text/css" rel="styleSheet" href="style.css" /> <!-- <style> @import url("style.cs"); </style> --> </head> <body> <h1>link標(biāo)簽或@import的應(yīng)用</h1> <p>外部定義CSS樣式表以.CSS為擴(kuò)展名文件,然后在頁面中通過link標(biāo)簽或@import鏈接到頁面中。</p> </body> </html>
實(shí)現(xiàn)效果:
link和@import的區(qū)別:
1、從屬關(guān)系區(qū)別
@import是 CSS 提供的語法規(guī)則,只有導(dǎo)入樣式表的作用;link是HTML提供的標(biāo)簽,不僅可以加載 CSS 文件,還可以定義 RSS、rel 連接屬性等。
2、加載順序區(qū)別
加載頁面時(shí),link標(biāo)簽引入的 CSS 被同時(shí)加載;@import引入的 CSS 將在頁面加載完畢后被加載。
3、兼容性區(qū)別
@import是 CSS2.1 才有的語法,故只可在 IE5+ 才能識別;link標(biāo)簽作為 HTML 元素,不存在兼容性問題。
4、DOM可控性區(qū)別
可以通過 JS 操作 DOM ,插入link標(biāo)簽來改變樣式;由于 DOM 方法是基于文檔的,無法使用@import的方式插入樣式。
(學(xué)習(xí)視頻分享:web前端)