為什么要將html頁面和樣式表分離,0031 如何使用css文件對網頁內容和樣式進行分離...

原標題:0031 如何使用css文件對網頁內容和樣式進行分離

上節課,學習了針對文字可以設置很多種樣式。

這節課,學習如何將內容和樣式進行分離。

上節課的課后練習

1.將斜體字體效果去除

2.將工作經歷和工作經驗(部分)這2行文字也做成簡介這行文字的效果

完成代碼如下:

3bd532c10212468083fe5808b5c9b608.png

頁面效果如下:

d88202c77af4dbffafce9efd2a3bd525.png

可以看到3個標題都是一樣的效果了。

但是,在編寫代碼的時候,發現一個問題,就是3個div的代碼是一模一樣的,復制起來很長,而且假如要將三個標題的字體全部都改小一點的話,要修改3處地方,有沒有一個簡便的方法,只改一次就好了呢?

新建css文件并使用

之前在div中利用屬性style來設置css屬性的方法是一種比較直接的方法,適合編寫某個特殊的樣式。

如果有大量相同的重復的style的時候,一般不采用style屬性,而是采用class屬性來實現。

也就是將相關的css屬性和值存放到一個單獨的以.css做為后綴名的文件中,然后html文件引用這個css文件,然后使用class屬性來使用。

首先,在代碼編輯器中新建一個文件,編寫代碼如下,就是將div里面style的值復制過來,并增加換行,保存為index.css,注意保存到目錄要和index.html位于同一個目錄下:

d5139f9bbbedd67ab7d39a45ab3c0884.png

然后,在index.html當中在meta這一行下面新增一行,引入index.css

然后,將div里面的style="......"這一大段刪除,修改為class="bigtitle":

403c19bb57519e01b8cd9820ec2d745d.png

刷新頁面,可以看到頁面效果是一樣的:

5d74a64ade92a8dcdb6d7163bc69e008.png

接下來,要將標題的文字從30px修改為20px,修改index.css文件中的font-size的值為20px,然后注意保存文件:

1e974017410067a744d6d2a48ff6bb3d.png

刷新頁面可以看到頁面的3個標題的字體同時變小了,只修改了一處地方就實現了目的:

61c0df025bf3f33de153b84a38ec644a.png

這里要注意一點,在css文件中,設置一個樣式,需要樣式起一個名字,例如這里的bigtitle,然后名稱前面有一個點。

點的意思表示這個樣式需要用css="樣式名"來使用。

對特定標簽使用css文件定義

現在index.html里面還有一個地方使用了style,把它也挪到index.css文件中,插入如下代碼:

d825a4b74e6eb4f62823e7782256b800.png

index.html刪除掉body開始標簽的后面的style的部分:

3c5f913371ee2e11fdf43ce3dfb0008e.png

刷新頁面發現沒有變化:

8d87172a43e875c71262afa4492f73c8.png

修改index.css文件中body里面的background-color的值如下:

6cf66aec8205d06642a7b9f1c43cd339.png

刷新頁面發現背景顏色變得更淡了:

5f484fed374de61d0b7eb869aebea111.png

這里,發現對css文件中樣式的定義有一點不一樣,而且html文件中沒有使用class="樣式名",為何樣式仍然起作用了呢?

關鍵點在于css文件中樣式的名字為body,并且前面沒有點。

這樣的設置方式就是告訴瀏覽器,這個樣式只對body標簽起作用,對其他標簽不起作用,因此也不需要在body標簽里面使用class了。

關鍵點在于css里面樣式名和html元素標簽名一致來完成。

假如把css文件里面的第一行的body修改為div,那么里面的背景顏色值就對所有的div起作用了。

假如把css文件里面的第一行的body修改為dddd一個無效的名字,那么里面的背景顏色值就找不到對應的標簽從而沒有作用,這樣的話body標簽也就沒有設置背景色了。

這種設置方式在某些情況下是有好處的,可以靈活設置大量相同設置而無需設置class屬性,特別是在不同的html頁面都需要一樣的設置的時候,只要html都是引用同樣一個css文件,那么不同的html同樣的標簽都會自動匹配一樣的樣式了。

設置通用樣式和特殊樣式

如果要求所有頁面中所有的文字都是12px,但是標題內容行都是20px,該如何做呢?

先在css文件中的body里面增加文字大小的定義:

c0b06faa83b85a2989de0822f962580b.png

index.html不做修改,刷新頁面后可以看到,3段內容沒有任何樣式定義,但是所有的字體都變小了,同時標題內容行的字體大小仍然是20px,這是因為修改了body標簽的樣式,那么對于body里面包含的子元素標簽,該樣式都會起作用,除非子元素自己重新定義了這個樣式:

47cd92cb6b3ca0dd43ec9d6a64bf6465.png

然后,需要將簡介的具體內容部分的字體大小調整為16px,而工作經歷和工作經驗的字體仍然保持12px不變,應該這樣修改:

在index.css 里面增加一個樣式,名字為smallcontent,里面只有font-size,如下:

f63d8b2c243db0476f74d9d822f9bc40.png

然后修改index.html里面在簡介的具體內容前面加上

,最后一行刪掉

,然后加上

,如下:

f7d91491ebbad731db69f99a8e2cbf91.png

刷新頁面可以看到因為簡介這塊做了特殊樣式定義,因此字體大小就變大了,其他2部分沒有設置,則字體不變:

8a18252472fba5eb2a906ab1eb52ded2.png

內容和樣式分離的好處

通過上面將樣式都放在css文件的方法,可以將頁面內容和顯示效果進行分離。

分離的好處有很多:

1.修改一處地方,同時可以影響多個地方,修改更方便。

2.css文件中可以針對標簽設置,也可以特殊定義樣式名然后引用,可以更靈活,也可以減少樣式重復定義。

3.可以將內容的編寫任務交給程序員,將樣式的編寫交給設計人員或者美工,從而互不干擾,提高開發效率。

課后練習

使用css樣式將工作經歷和工作經驗部分的文字大小修改為14px,文字顏色修改為#222222。

往期教程

因為教程是系列教程,前后關聯性非常強,請大家按照歷史消息發布時間先后次序進行閱讀。返回搜狐,查看更多

責任編輯:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis 關系數據庫怎么轉換 和_redis數據庫設計(轉)

閱讀目錄redis是什么redis就是一個存儲key-value鍵值對的倉庫,如何使用redis在于如何理解你需要設計的系統的E-R的模型,然后合理的規劃redis的數據庫結構場景我舉一個簡單的消息系統的例子,業務需求:服務器端發送消息給用戶E-R模型…

Hadoop Archives

介紹 時間: Hadoop Archives (HAR files)是在0.18.0版本中引入的。 作用: 將hdfs里的小文件打包成一個文件,相當于windows的zip,rar。Linux的 tar等壓縮文件。把多個文件打包一個文件。 意義: 它的出現就是為了緩…

js 判斷日期時間差

2019獨角獸企業重金招聘Python工程師標準>>> alert(GetDateDiff("2018-02-27 19:20:22","2018-02-27 09:20:22","hour"));function GetDateDiff(startTime, endTime, diffType) {//將xxxx-xx-xx的時間格式,轉換為 xxxx/xx…

python 圖形_Python圖形數據

CSGraph代表 壓縮稀疏圖 ,它著重于基于稀疏矩陣表示的快速圖算法。 圖表表示 首先,讓我們了解一個稀疏圖是什么以及它在圖表示中的作用。 什么是稀疏圖? 圖形只是節點的集合,它們之間有鏈接。圖表幾乎可以代表任何事物 - 社交網絡…

本地運行hadoop-Failed to locate the winutils binary in the hadoop binary path

轉自:http://www.cnblogs.com/zq-inlook/p/4386216.html 之前在mac上調試hadoop程序(mac之前配置過hadoop環境)一直都是正常的。因為工作需要,需要在windows上先調試該程序,然后再轉到linux下。程序運行的過程中&#…

dubbo 支持服務降級嗎_dubbo面試題!會這些,說明你真正看懂了dubbo源碼

整理了一些dubbo可能會被面試的面試題,感覺非常不錯。如果你基本能回答說明你看懂了dubbo源碼,對dubbo了解的足夠全面。你可以嘗試看能不能回答下。我們一起看下有哪些問題吧?dubbo中"讀接口"和"寫接口"有什么區別?談談…

不滿足于汽車制造,豐田展示仿鋼鐵俠機器支撐腿架

而汽車制造商開發機器人也不是豐田一家的專利,此前現代也推出過類似的支撐機器人腿架 大多數人對于豐田的印象都停留在汽車制造上,不過他們卻不僅僅滿足于汽車事業的發展,最近,豐田正在研發一款機器人支撐腿架,來幫助…

js html異步加載的屬性,異步加載JS的五種方式

方案一:點評:HTML5中新增的屬性,Chrome、FF、IE9&IE9均支持(IE6~8不支持)。此外,這種方法不能保證腳本按順序執行。方案二:點評:兼容所有瀏覽器。此外,這種方法可以確保所有設置defer屬性的…

python中各操作符的優先級_Python3練習題系列(06)——各種符號總結

Python3中的各種符號總結 1關鍵字 import keyword print(keyword.kwlist, end\t) [False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, r…

hdfs java讀寫hdfs demo

windows環境配置: 1.下載winutils的windows版本 GitHub上,有人提供了winutils的windows的版本, 項目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下載此項目的zip包,下載后是文件名是hadoop-comm…

cesium 經緯度繪制點_NCL繪制2016年1號臺風(Nepartak)

begin ncol 6 ;臺風參數 nrow 31 ;時次總數 nbin 6 ;已知該該氣旋共經歷了6個等級的演變 ;讀入臺風資料 data asciiread("NEPARTAK.txt",(/nrow,ncol/),"integer") ;/31,6/ 31行6列,integer整數類型 ;;數據讀取函數總結&…

VR究竟多奇幻?eSmart邀你共赴一場VR奇幻之旅!

今年夏天,快來參加首屆eSmart展會,來一場VR游戲的奇妙之旅,見識最好玩、最有趣的VR游戲! 正如十幾年前互聯網的興起開創了全新時代一樣,VR產業在近兩年也勢不可擋。隨著一重行業巨頭的進入,2016年&#xf…

HTML5新的解析順序,HTML5新表單新功能解析

HTML5新增了很多屬性功能。但是有兼容性問題,因為這些表單功能新增的。我這里做了一個簡單的練習,方便參考。如果完全兼容的話,那我們寫表單的時候就省了很多代碼以及各種判斷。HTML5表單新功能解析#da{width:350px;height:600px;margin:0 au…

python子類繼承父類屬性實例_Python實現子類調用父類的初始化實例

前言 python中進行面向對象編程,當在子類的實例中調用父類的屬性時,由于子類的__init__方法重寫了父類的__init__方法,如果在子類中這些屬性未經過初始化,使用時就會出錯。 例如以下的代碼: class A(object): def __init__(self):…

hadoop 回收站Trash

介紹: Hadoop回收站trash,默認是關閉的。 和Linux系統的回收站設計一樣,HDFS會為每一個用戶創建一個回收站目錄:/user/用戶名/.Trash/,每一個被用戶通過Shell刪除的文件/目錄,在系統回收站中都一個周期&…

opencv畫框返回坐標 python_[python]依靠pynput和pyautogui替換ahk

autohotkey當然是不錯的工具,但是這個東西的社群一直發展的不行。從開始學習python以后,我就不時會希望能找到別的工具替代ahk。Python的眾多包里面確實是有對應的工具的:模擬鼠標和鍵盤的操作可以用pyautogui,而捕捉熱鍵則可以使…

Hadoop SequenceFile

apache原文:http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/io/SequenceFile.html 概念: SequenceFile是一個由二進制序列化過的key/value的字節流組成的文本存儲文件,它可以在map/reduce過程中的input/output 的format時被使…

機器學習算法平臺alink_Alink漫談(十二) :在線學習算法FTRL 之 整體設計

Alink漫談(十二) :在線學習算法FTRL 之 整體設計[Toc]0x00 摘要Alink 是阿里巴巴基于實時計算引擎 Flink 研發的新一代機器學習算法平臺,是業界首個同時支持批式算法、流式算法的機器學習平臺。本文和下文將介紹在線學習算法FTRL在Alink中是如何實現的&a…

Linux Shell獲取系統資源使用百分比(CentOS)

CPU使用率: top -b -n 1 | head -n 4 | grep "^Cpu(s)" | awk {print $2} | cut -d u -f 1 內存使用率: free -m | grep ^- | awk {print $3/($3$4)*100"%"} IO使用率(FS_PATH的值改成df -h出來的那些Filesystem名稱即可…

html城市繪制,HTML5/Canvas二分法構建城市版圖

JavaScript語言:JaveScriptBabelCoffeeScript確定var ctx fullscreenCanvas().ctx;var canvas ctx.canvas;function Rect(pos, width, height) {this.pos pos;this.width width;this.height height;}Rect.prototype.update Function.prototype;Rect.prototype…