前端新手看過(guò)來(lái),教你從零CSS做漂亮網(wǎng)頁(yè),這樣學(xué)習(xí)太有成就感了

2024-04-30    分類: 網(wǎng)站建設(shè)

層疊樣式表(Cascading Style Sheet,簡(jiǎn)稱:CSS)是為網(wǎng)頁(yè)添加樣式的代碼。本節(jié)將介紹 CSS 的基礎(chǔ)知識(shí),并解答類似問(wèn)題:怎樣將文本設(shè)置為黑色或紅色?怎樣將內(nèi)容顯示在屏幕的特定位置?怎樣用背景圖片或顏色來(lái)裝飾網(wǎng)頁(yè)?

CSS 究竟什么來(lái)頭?

和 HTML 類似,CSS 也不是真正的編程語(yǔ)言,甚至不是標(biāo)記語(yǔ)言。它是一門(mén)樣式表語(yǔ)言,這也就是說(shuō)人們可以用它來(lái)選擇性地為 HTML 元素添加樣式。舉例來(lái)說(shuō),要選擇一個(gè) HTML 頁(yè)面里所有的段落元素,然后將其中的文本改成紅色,可以這樣寫(xiě) CSS:

p{color: red;}

不妨試一下:首先新建一個(gè)styles文件夾,在其中新建一個(gè)style.css文件,將這三行 CSS 保存在這個(gè)新文件中。

然后再將該 CSS 文件連接至 HTML 文檔,否則 CSS 代碼不會(huì)對(duì) HTML 文檔在瀏覽器里的顯示效果有任何影響。(如果你沒(méi)有完成前幾節(jié)的實(shí)踐,請(qǐng)復(fù)習(xí)處理文件 和 HTML 基礎(chǔ)。在筆記本里有這個(gè)方面的內(nèi)容!)

1、打開(kāi)index.html文件,然后將下面一行粘貼到文檔頭(也就是和標(biāo)簽之間)。

<linkhref="styles/style.css"rel="stylesheet">

2、保存index.html并用瀏覽器將其打開(kāi)。應(yīng)該看到以下頁(yè)面:

如果段落文字變紅,那么祝賀你,你已經(jīng)成功地邁出了 CSS 學(xué)習(xí)的第一步。

CSS 規(guī)則集詳解

讓我們來(lái)仔細(xì)看一看上述CSS:

整個(gè)結(jié)構(gòu)稱為規(guī)則集(通常簡(jiǎn)稱規(guī)則),各部分釋義如下:

選擇器(Selector)HTML 元素的名稱位于規(guī)則集開(kāi)始。它選擇了一個(gè)或者多個(gè)需要添加樣式的元素(在這個(gè)例子中就是p元素)。要給不同元素添加樣式只需要更改選擇器就行了。聲明(Declaration)一個(gè)單獨(dú)的規(guī)則,比如說(shuō)color: red;用來(lái)指定添加樣式元素的屬性。屬性(Properties)改變 HTML 元素樣式的途徑。(本例中color就是 `` 元素的屬性。)CSS 中,由編寫(xiě)人員決定修改哪個(gè)屬性以改變規(guī)則。屬性的值(Property value)在屬性的右邊,冒號(hào)后面即屬性的值,它從指定屬性的眾多外觀中選擇一個(gè)值(我們除了red之外還有很多屬性值可以用于color)。

注意其他重要的語(yǔ)法:

每個(gè)規(guī)則集(除了選擇器的部分)都應(yīng)該包含在成對(duì)的大括號(hào)里({})。在每個(gè)聲明里要用冒號(hào)(:)將屬性與屬性值分隔開(kāi)。在每個(gè)規(guī)則集里要用分號(hào)(;)將各個(gè)聲明分隔開(kāi)。

如果要同時(shí)修改多個(gè)屬性,只需要將它們用分號(hào)隔開(kāi),就像這樣:

p{color: red;width:500px;border:1pxsolid black;}多元素選擇

也可以選擇多種類型的元素并為它們添加一組相同的樣式。將不同的選擇器用逗號(hào)分開(kāi)。例如:

p,li,h1{color: red;}不同類型的選擇器

選擇器有許多不同的類型。上面只介紹了元素選擇器,用來(lái)選擇 HTML 文檔中給定的元素。但是選擇的操作可以更加具體。下面是一些常用的選擇器類型:

選擇器名稱

選擇的內(nèi)容

示例

元素選擇器(也稱作標(biāo)簽或類型選擇器)

所有指定(該)類型的 HTML 元素

p選擇

ID 選擇器

具有特定 ID 的元素(單一 HTML 頁(yè)面中,每個(gè) ID 只對(duì)應(yīng)一個(gè)元素,一個(gè)元素只對(duì)應(yīng)一個(gè) ID)

my-id選擇

類選擇器

具有特定類的元素(單一頁(yè)面中,一個(gè)類可以有多個(gè)實(shí)例)

.my-class選擇

屬性選擇器

擁有特定屬性的元素

img[src]選擇而不是

偽(Pseudo)類選擇器

特定狀態(tài)下的特定元素(比如鼠標(biāo)指針懸停)

a:hover僅在鼠標(biāo)指針懸停在鏈接上時(shí)選擇。

選擇器的種類遠(yuǎn)不止于此,更多信息請(qǐng)參閱 選擇器。

字體和文本

譯注:再一次說(shuō)明,中文字體文件較大,不適合直接用于 Web Font。

在探索了一些 CSS 基礎(chǔ)后,我們來(lái)把更多規(guī)則和信息添加至style.css中,從而讓示例更美觀。首先,讓字體和文本變得更漂亮。

第一步:找到之前Google Font 輸出的地址。并以元素的形式添加進(jìn)index.html文檔頭(和之間的任意位置)。代碼如下:

以上代碼為當(dāng)前網(wǎng)頁(yè)下載Open Sans字體,從而使自定義 CSS 中可以對(duì) HTML 元素應(yīng)用這個(gè)字體。

第二步:接下來(lái),刪除style.css文件中已有的規(guī)則。雖然測(cè)試是成功的了,但是紅字看起來(lái)并不太舒服。

第三步:將下列代碼添加到相應(yīng)的位置,用你在 Google Fonts 找到的字體替代font-family中的占位行。(font-family意味著你想要你的文本使用的字體。)這條規(guī)則首先為整個(gè)頁(yè)面設(shè)定了一個(gè)全局字體和字號(hào)(因?yàn)槭钦麄€(gè)頁(yè)面的父元素,而且它所有的子元素都會(huì)繼承相同的font-sizefont-family):

html{/* px 表示 像素(pixels): 基礎(chǔ)字號(hào)為 10 像素 */font-size:10px;/* Google fonts 輸出的 CSS */font-family:Open Sans, sans-serif;}

注:CSS 文檔中所有位于/*和*/之間的內(nèi)容都是 CSS 注釋,它會(huì)被瀏覽器在渲染代碼時(shí)忽略。你可以在這里寫(xiě)下對(duì)你現(xiàn)在要做的事情有幫助的筆記。

譯注:/*``*/不可嵌套,/*這樣的注釋是/*不行*/的*/。CSS 不接受//注釋。

接下來(lái)為文檔體內(nèi)的元素(

(en-US)、和

)設(shè)置字號(hào)。將標(biāo)題居中顯示,并為正文設(shè)置行高和字間距,從而提高頁(yè)面的可讀性。

h1{font-size:60px;text-align: center; }p,li{font-size:16px;/* line-height 后而可以跟不同的參數(shù),如果是數(shù)字,就是當(dāng)前字體大小乘上數(shù)字 */line-height:2;letter-spacing:1px; }

可以隨時(shí)調(diào)整這些px值來(lái)獲得滿意的結(jié)果,以下是大體效果:

一切皆盒子

編寫(xiě) CSS 時(shí)你會(huì)發(fā)現(xiàn),你的工作好像是圍繞著一個(gè)一個(gè)盒子展開(kāi)的——設(shè)置尺寸、顏色、位置,等等。頁(yè)面里大部分 HTML 元素都可以被看作若干層疊的盒子。

并不意外,CSS 布局主要就是基于盒模型的。每個(gè)占據(jù)頁(yè)面空間的塊都有這樣的屬性:

padding:即內(nèi)邊距,圍繞著內(nèi)容(比如段落)的空間。border:即邊框,緊接著內(nèi)邊距的線。margin:即外邊距,圍繞元素外部的空間。

這里還使用了:

width:元素的寬度background-color:元素內(nèi)容和內(nèi)邊距底下的顏色color:元素內(nèi)容(通常是文本)的顏色text-shadow:為元素內(nèi)的文本設(shè)置陰影display:設(shè)置元素的顯示模式(暫略)

開(kāi)始在頁(yè)面中添加更多 CSS 吧!大膽將這些新規(guī)則都添加到頁(yè)面的底部,而不要糾結(jié)改變屬性值會(huì)帶來(lái)什么結(jié)果。

更改頁(yè)面顏色html{background-color:00539f;}

這條規(guī)則將整個(gè)頁(yè)面的背景顏色設(shè)置為 所計(jì)劃的顏色。

文檔體格式設(shè)置body{width:600px;margin:0auto;background-color:ff9500;padding:020px20px20px; border:5pxsolid black;}

現(xiàn)在是元素。以上條聲明,我們來(lái)逐條查看:

width: 600px;—— 強(qiáng)制頁(yè)面永遠(yuǎn)保持 600 像素寬。margin: 0 auto;—— 為margin或padding等屬性設(shè)置兩個(gè)值時(shí),第一個(gè)值代表元素的上方下方(在這個(gè)例子中設(shè)置為0),而第二個(gè)值代表左邊右邊(在這里,auto是一個(gè)特殊的值,意思是水平方向上左右對(duì)稱)。你也可以使用一個(gè),三個(gè)或四個(gè)值,參考 這里 。background-color: FF9500;—— 如前文所述,指定元素的背景顏色。我們給 body 用了一種略微偏紅的橘色以與深藍(lán)色的 `` 元素形成反差,你也可以嘗試其它顏色。padding: 0 20px 20px 20px;—— 我們給內(nèi)邊距設(shè)置了四個(gè)值來(lái)讓內(nèi)容四周產(chǎn)生一點(diǎn)空間。這一次我們不設(shè)置上方的內(nèi)邊距,設(shè)置右邊,下方,左邊的內(nèi)邊距為20像素。值以上、右、下、左的順序排列。border: 5px solid black;—— 直接為 body 設(shè)置 5 像素的黑色實(shí)線邊框。定位頁(yè)面主標(biāo)題并添加樣式h1{margin:0;padding:20px0;color:00539f;text-shadow:3px3px1pxblack}

你可能發(fā)現(xiàn)頁(yè)面的頂部有一個(gè)難看的間隙,那是因?yàn)闉g覽器會(huì)在沒(méi)有任何 CSS 的情況下 給

en-US等元素設(shè)置一些默認(rèn)樣式。但這并不是個(gè)好主意,因?yàn)槲覀兿M粋€(gè)沒(méi)有任何樣式的網(wǎng)頁(yè)也有基本的可讀性。為了去掉那個(gè)間隙,我們通過(guò)設(shè)置margin: 0;來(lái)覆蓋默認(rèn)樣式。

至此,我們已經(jīng)把標(biāo)題的上下內(nèi)邊距設(shè)置為 20 像素,并且將標(biāo)題文本與 HTML 的背景顏色設(shè)為一致。

需要注意的是,這里使用了一個(gè)text-shadow屬性,它可以為元素中的文本提供陰影。四個(gè)值含義如下:

第一個(gè)值設(shè)置水平偏移值—— 即陰影右移的像素?cái)?shù)(負(fù)值左移)。第二個(gè)值設(shè)置垂直偏移值—— 即陰影下移的像素?cái)?shù)(負(fù)值上移)。第三個(gè)值設(shè)置陰影的模糊半徑—— 值越大產(chǎn)生的陰影越模糊。第四個(gè)值設(shè)置陰影的基色。

不妨嘗試不同的值看看能得出什么結(jié)果。

圖像居中img{display:block; margin:0auto;}

最后,我們把圖像居中來(lái)使頁(yè)面更美觀。可以復(fù)用 body 的margin: 0 auto,但是需要一點(diǎn)點(diǎn)調(diào)整。元素是塊級(jí)元素,意味著它占據(jù)了頁(yè)面的空間并且能夠賦予外邊距和其他改變間距的值。而圖片是內(nèi)聯(lián)元素,不具備塊級(jí)元素的一些功能。所以為了使圖像有外邊距,我們必須使用display: block給予其塊級(jí)行為。

注:以上說(shuō)明假定所選圖片小于頁(yè)面寬度(600 pixels)。更大的圖片會(huì)溢出 body 并占據(jù)頁(yè)面的其他位置。要解決這個(gè)問(wèn)題,可以:

1)使用 圖片編輯器 來(lái)減小圖片寬度; 2)用 CSS 限制圖片大小,即減小元素width屬性的值(比如400 px)。

注:如果你暫時(shí)不能理解display: block和塊級(jí)元素與行內(nèi)元素的差別也沒(méi)關(guān)系;隨著你對(duì) CSS 學(xué)習(xí)的深入,你將明白這個(gè)問(wèn)題。

小結(jié)

如果你按部就班完成本文的實(shí)踐,那么最終可以得到以下頁(yè)面

相關(guān)推薦:

前端新手看過(guò)來(lái),手把手帶你輕松上手html的實(shí)操

非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"前端新手看過(guò)來(lái),教你從零CSS做漂亮網(wǎng)頁(yè),這樣學(xué)習(xí)太有成就感了",僅為提供更多信息供用戶參考使用或?yàn)閷W(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。

網(wǎng)站名稱:前端新手看過(guò)來(lái),教你從零CSS做漂亮網(wǎng)頁(yè),這樣學(xué)習(xí)太有成就感了
網(wǎng)頁(yè)網(wǎng)址:http://www.muchs.cn/news43/327043.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)公司企業(yè)建站、品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)