CSS技術的出現實現結構與表現分離

2022-09-25 10:27:11 字數 2473 閱讀 2270

css的作用

有一次找工作面試,很直接的那個面試官就問了我「css的作用是什麼?」我當時回答也很搞笑,就說了句,「現在做**離不開css,這個就像魚離不開水一樣」。可能覺得說得也沒錯。但深層次的想,確實沒有回答人家的問題。

記得在很久以前,久得我都記不清楚了。那時我剛接觸做網頁的時候,要讓頁面中的某個段落加粗一下,就要新增乙個html標籤並加上相應的屬性。要讓某個段落對齊,我會在dreamwe**er的設計器裡打一大堆空格,然後**裡會產生一大堆的  (不好意思,我當時根本不知道)。每次要修改都要經歷這樣乙個過程,光不談html**的臃腫不說,維護起來更是乙個讓人崩潰的事。

還好不久css就出現了,在這兒要感謝那些前輩們。通過他們的努力上面的問題得到了很好的解決。拋開各個瀏覽器對css解析的不同不說,最起碼css讓頁面不再那麼難維護了。

我認為css的出現具有以下幾個重要作用:

修飾頁面的元素時,避免了對html元素的改動(也就是現在流行的乙個概念:「語義化」結構www.cppcns.com與表現分享了)

每個瀏覽器對html的解析都不同。html原來設計的時候定位於定義文件的內容,通過使用,各類標籤,所要表達的初衷是「段落」、「**」之類的資訊。但隨著各大瀏覽器的出現,也逐漸將新的html標籤和屬性到html規範中,以至於使得建立乙個合理的語義化的頁面結構變得困難許多。

通過使用css樣式,可以定義字型、顏色,那麼就可以讓這些原本不需要的表現形式的標記消失,使合理的語義化標記處於更好的位置,更好的發揮標記的作用。

使我們能夠更輕鬆的控制頁面結構和布局

**重構隨著這個概念的出現,也帶來了div結構的流行,因此也就出現了我們現在口頭常說的「div+css做**」。單從這個div+css的叫法來分析,可以了解到css已經被大家用在了頁面布局上了。

但乙個頁面不是只有控制div就控制了全面,還有很多其它的html標記,以前用table布局的頁面,一樣可以用css來控制它。

最根本的也是我們開發人員關心的,提高開發和維護的效率

乙個**,如果有很多相同的結構的檔案需要修改,涉及到的工作量是巨大的,但如果通過改css來實現頁面的靈活變換,只需要修改某個樣式就可以上,效率上大大提公升。

css的基本結構:selector

css的語法結構由兩部分組成即:選擇器和規則。規則也就是花括號中包含的內容。

選擇符(selector):主要是告訴瀏覽器這個樣式是用於頁面中的哪些物件的,這個物件可以是html中的某個標記,也可以是tpffulozre指定的class或id。這個後面會詳細的說。

宣告:宣告主要是告訴瀏覽器怎樣去渲染頁面中的與選擇符相匹配的物件。由屬性與屬性值組成,冒號相隔、分號結束的宣告形式可以乙個或者多個的組合而成。

屬性:屬性主要以乙個單詞的形式出現,並且都是css約定的,不可以自己定義。

屬性值:屬性值將根據屬性改變形式,包括數值,單位等。

說理論一般都不容易讓人記住,來舉個例子吧。

現在我要將頁面中的也就是body下的所有的文字設為紅色,且要18號字型,加粗顯示,可以這樣寫:

複製**

**如下:

body

怎麼樣很清楚吧,注釋也夠詳盡了,但這樣的做法有個弊端就是,注釋很詳盡,樣式一多的時間,檔案會很大。在http請求非常奢侈的今天任何一點額外的負擔都是要注意的。

所以我們下面可以再簡一下,這樣:

複製**

**如下:

/*對body下所有的文字以紅色加粗並以18畫素顯示*/

body

可能有的人認為這沒什麼,而且會帶來閱讀上的不便。但你想一下,我們現在做的一般網際網路專案有哪個少於十個八個樣式表的。不管什麼東西在小的時候都無所謂,但一旦一多,就不得不考慮一些效能上的問題(當然關於css的執行效率方面的知識也有很多的學問,以後看情況也會介紹)。

這邊就壓縮css給大家兩個有用的**工具,可以作為參考一下,我平時一直在用非常不錯:

上面講了半天,這會總結一下,所有的css**都存在這麼幾個特點:

每個宣告的屬性和屬性值之間都是用冒號隔開、分號結束。如:font-size:18px;font-weight:bold;

宣告都是緊跟著選擇符的,並被花括號包含著。如:body

屬性與屬性之間的空格可有可無。

本文標題: css技術的出現實現結構與表現分離

本文位址: /web/css/80160.html

點讚打賞

分享如果認為本文對您有所幫助請贊助本站

宣告:凡註明"本站原創"的所有文字等資料,版權均屬程式設計客棧所有,歡迎**,但務請註明出處。

標籤:結構  表現  分離

css中a標籤樣式的「愛恨」原則:定義鏈結樣式的四個偽類ie6 css高度height:100% 計算失效/無效

您可能感興趣的文章:

廣告贊助

廣告贊助

最新發布

全站最新

廣而告之

© 2018-2021 程式設計客棧 贛icp備17006162號-9

贛公網安備 36110202000251號

top

VR如何實現?虛擬實境背後的技術

虛擬實境 vr 經過近年來的狂熱追逐,隨著其中所面臨的一系列問題,讓各界人士都趨於理性,但是一些投資者仍在堅持一種願景,即如果可以解決技術問題,vr有一天可以取代移動裝置。虛擬實境主要是模擬人眼視覺。每款vr裝置都旨在完善其建立沉浸式3d環境的方法。每個vr頭戴式顯示器都在眼睛前面架起乙個螢幕 或兩...

總結實現實現vlan間通訊的技術和原理

總結實現實現vlan間通訊的技術和原理 技術 1 通過路由器的不同物理介面與交換機上的每個vlan分別連線 這種方式的優點是管理簡單,缺點是網路擴充套件難度大。每增加乙個新的vlan,都需要消耗路由器的埠和交換機上的訪問鏈結,而且還需要重新布設一條網線。而路由器,通常不會帶有太多lan介面的 3 用...

資料結構 順序棧的實現(實驗3 1)

1 熟練掌棧的結構特點,掌握棧的順序儲存結構和實現。2 學會使用棧解決實際問題。二 實驗內容 1 自己確定結點的具體資料型別和問題規模,建立乙個順序棧,實現棧的壓棧和出棧操作。三 實驗步驟 1 依據實驗內容分別說明實驗程式中用到的資料型別的定義 template typename t class s...