關(guān)于CSS引入體例的細(xì)致見解小結(jié)
關(guān)于CSS的發(fā)展史這里不做介紹。寫博客的緣故原由之一是想幫助那些與我一樣喜好糾結(jié)的初入前端的伙伴,盼望本身寫的帖子能對(duì)伙伴有些許幫助;緣故原由之二這些帖子也算本身的一個(gè)知識(shí)的整頓。如今還沒有肯定的順序可循,但從CSS開始,盡量寫的有順序可循。
1.CSS初始
概念:CSS稱之為層疊樣式表或級(jí)聯(lián)樣式表。樣式定義如何表現(xiàn)HTML元素。樣式通常存儲(chǔ)在樣式表中。
作用:CSS以HTML為基礎(chǔ),提供了雄厚的功能,而且還可以針對(duì)不同的欣賞器設(shè)置不同的樣式。CSS重要用于設(shè)置HTML網(wǎng)頁中的文本內(nèi)容(字體、大小、對(duì)齊體例等)、圖片的形狀(寬高、邊框樣式、邊距等)以及版面的布局和表面表現(xiàn)樣式。
2.CSS語法
CSS語法由兩個(gè)重要的部分構(gòu)成:選擇器,以及一條或多條聲明。每條聲明由一個(gè)屬性和一個(gè)屬性值組成。
簡單來說一個(gè)樣式的語法是由三部分構(gòu)成:選擇器、屬性和屬性值。
例如:
選擇器:選擇器會(huì)告訴欣賞器該樣式將作用于網(wǎng)頁中哪些對(duì)象,而這些對(duì)象可以是某個(gè)標(biāo)簽、所有頁面對(duì)象、指定Class或ID值等。欣賞器在解析這個(gè)樣式時(shí),根據(jù)選擇器來渲染對(duì)象的表現(xiàn)鮮果。也就是說選擇器通常是你想要改變樣式的HTML元素,選擇器就是用一種體例把你想要設(shè)置樣式的那一個(gè)標(biāo)簽選中。把這個(gè)標(biāo)簽選中了,你才能給這個(gè)標(biāo)簽設(shè)置CSS樣式。
聲明:聲明可以是一條或者多條,這些聲明會(huì)告訴欣賞器如何去渲染選擇器指定的對(duì)象。聲明由屬性和屬性值組成,并用分號(hào)來標(biāo)識(shí)一個(gè)聲明的結(jié)束,在一個(gè)樣式中,最后一個(gè)聲明可以省略分號(hào),所有的聲明被放置在一對(duì)大括號(hào)內(nèi),這個(gè)大括號(hào)跟在選擇器的后面。
知道了CSS是做什么的了,也知道了CSS的語法由幾部分組成,那么題目來了,如何使用CSS呢,CSS樣式書寫在什么位置呢?接下來要說的就是CSS的書寫位置。
3.CSS的引入體例
在HTML中引入CSS樣式的體例有3種,分別為內(nèi)聯(lián)樣式表、內(nèi)部樣式表、外部樣式表。
3.1內(nèi)聯(lián)樣式表
內(nèi)聯(lián)樣式表也稱之為行內(nèi)樣式表、行間樣式表。內(nèi)聯(lián)樣式表是把CSS代碼和HTML代碼放在統(tǒng)一個(gè)文件中。假如要使用內(nèi)聯(lián)樣式,必要在相干的標(biāo)簽內(nèi)使用樣式(style)屬性。Style屬性可以包含任何CSS屬性。
語法:<標(biāo)簽名 style="屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; ">內(nèi)容</標(biāo)簽名>
例如:
<!DOCTYPE html> <html> <head> <title>內(nèi)聯(lián)樣式表</title> </head> <body> <h1 style="color:red;">我是內(nèi)聯(lián)樣式表,也可以稱我為行內(nèi)樣式表、行間樣式表</h1> </body> </html>
從上面的代碼可以看出,我們給<h1>標(biāo)簽添加了style屬性,而給style屬性設(shè)置的CSS屬性是color屬性,屬性值是red,表現(xiàn)結(jié)果如下:
內(nèi)聯(lián)樣式表方便操作,也很容易理解。 現(xiàn)實(shí)上任何HTML標(biāo)簽都擁有style屬性,用來設(shè)置內(nèi)聯(lián)式 。使用內(nèi)聯(lián)式必要細(xì)致的點(diǎn)如下:
(1).style其實(shí)就是標(biāo)簽的一個(gè)屬性;
(2).樣式屬性和屬性值中心使用";",也就是英文狀況下的分號(hào);
(3).多組屬性值之間用英文狀況下的分號(hào)“;”隔開;
(4).內(nèi)聯(lián)式只能控制當(dāng)前的標(biāo)簽和以及嵌套在其中的子標(biāo)簽,容易造成代碼冗余。
內(nèi)聯(lián)式是在單個(gè)標(biāo)簽內(nèi)定義的。對(duì)于網(wǎng)站來說,冗余代碼許多,而且因?yàn)槿哂啻a多,每次改動(dòng)CSS樣式都要到詳細(xì)的標(biāo)簽內(nèi)修改,如許使得網(wǎng)站的維護(hù)性也特別很是差。而且,內(nèi)聯(lián)式?jīng)]有實(shí)現(xiàn)樣式和結(jié)構(gòu)相星散。
3.2.內(nèi)部樣式表
內(nèi)部樣式表也稱之為內(nèi)嵌樣式表,是將CSS代碼集中寫在HTML文檔的head頭部標(biāo)簽中,并且用style標(biāo)簽定義。
語法:
<!DOCTYPE html> <html> <head> <title>內(nèi)部樣式表</title> <style> 選擇器{ 屬性1:屬性值1; 屬性2:屬性值2; } </style> </head> <body> </body> </html>
例如:
<!DOCTYPE html> <html> <head> <title>內(nèi)部樣式表</title> <style> p{ color:pink; } </style> </head> <body> <p>我是內(nèi)部樣式表,也叫內(nèi)嵌式樣式表</p> </body> </html>
從上面代碼中可以看出,給p標(biāo)簽使用的是內(nèi)部樣式表,添加了字體顏色是pink,表現(xiàn)結(jié)果如下:
必要說明的是內(nèi)部樣式表中,style標(biāo)簽有個(gè)type屬性,其值為text/css,即:type="text/css",在html5中可以省略。使用內(nèi)部樣式表的瑕玷有兩點(diǎn):第一點(diǎn)就是內(nèi)部樣式表只能控制當(dāng)前的網(wǎng)頁;第二點(diǎn)就是內(nèi)部樣式表沒有實(shí)現(xiàn)結(jié)構(gòu)與樣式星散。
3.3.外部樣式表
外部樣式表又稱之為鏈入式或者外鏈?zhǔn)健K^外部樣式表就是把CSS代碼和HTML代碼都單獨(dú)放在不同文件中,然后在HTML文檔中使用link標(biāo)簽或者@import來引用CSS樣式表。外部樣式表的文件擴(kuò)展名是.css,且文件中不能包含任何html標(biāo)簽。
外部樣式表的引入分為兩種情況:
第一種情況是放置于head標(biāo)簽內(nèi)的link標(biāo)簽中。語法為:<head><link rel="stylesheet" type="text/css" href="1.css"></head>
例如:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <!--在HTML網(wǎng)頁中引用文件名為index的css文件--> <link href="index.css" rel="stylesheet" type="text/css" /> </head> <body> <div></div> </body> </html>
第二種情況是放置于head標(biāo)簽內(nèi)的style標(biāo)簽中或者直接寫入樣式表中。語法為:
<style> @import 1.css; @import '1.css'; @import "1.css"; @import url(1.css); @import url('1.css); @import url("1.css"); </style>
細(xì)致:上面的語法中就“1.css”寫了6種情勢(shì),也就是說使用@import飭令導(dǎo)入外部樣式表的書寫體例有6種。
例如:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style> @import url("index.css"); </style> </head> <body> <div></div> </body> </html>
對(duì)于是使用link標(biāo)簽照舊@import引入外部樣式表,可能大家有些迷惑。link標(biāo)簽與@import的區(qū)別如下:
區(qū)別1:從從屬關(guān)系來說,link標(biāo)簽是一個(gè)html標(biāo)簽,除了可以加載CSS文件外還可以做許多其它的事情,比如定義RSS,定義rel連接屬性等;而@import是CSS提供的一種體例,只能用來加載CSS文件。
區(qū)別2:從加載順序來說,網(wǎng)頁加載時(shí),link標(biāo)簽引入的CSS文件被同時(shí)加載;而@import引入的CSS將在網(wǎng)頁加載完畢后被加載。
區(qū)別3:從兼容性來說,link標(biāo)簽是一個(gè)html標(biāo)簽,不存在兼容性題目;而@import是 CSS2.1 提供的語法, IE5之前的欣賞器是不支持的。
區(qū)別4:從DOM可控性來說,當(dāng)你使用javascript控制dom去改變樣式的時(shí)候,只能使用link標(biāo)簽,無法使用@import的體例。
區(qū)別5:從權(quán)重來說,link引入的樣式權(quán)龐大于@import引入的樣式。(PS:關(guān)于權(quán)重相干的知識(shí)這里不做詳解,后面再做細(xì)致的詮釋)
以上就是本文的悉數(shù)內(nèi)容,盼望對(duì)大家的學(xué)習(xí)有所幫助,也盼望大家多多支持圖趣網(wǎng)。
本文地址:http://m.likemindfilms.com/tutorial/wd494.html
- 專訪:石墨文檔產(chǎn)品總監(jiān)羅穎
- UI設(shè)計(jì)不得不知的移動(dòng)端UI尺寸適
- 光音移動(dòng)設(shè)計(jì)規(guī)范 — 表單類
- 體驗(yàn)設(shè)計(jì)中的排序問題
- 網(wǎng)頁設(shè)計(jì)精粹 網(wǎng)頁中那些迷人的按
- aliued:響應(yīng)式設(shè)計(jì)的現(xiàn)狀與趨勢(shì)
- 10個(gè)智能對(duì)象處理的ps技巧
- 網(wǎng)頁UI - 原子設(shè)計(jì)理論(上)
- 如何通過設(shè)計(jì)提升banner點(diǎn)擊率?
- 晉小彥視覺設(shè)計(jì)系列文章(二):全屏