Web 興起之後,關于CSS的介紹和學習資料已經鋪天蓋地。
本文不涉及具體的CSS文法之類的,而是希望從初學者的角度,讓沒有接觸或很少接觸CSS的人能快速的了解 CSS 到底是什麼以及如何使用。
了解一個概念,首先看到的就是它的名字,而往往被忽略的,也是它的名字。
CSS (cascading style sheets),可以翻譯成中文 層疊樣式表 。從名字可以看出:
層疊:說明 樣式可以疊加,是以會有優先級
樣式表:說明CSS是描述樣式的,而且隻是個 表 ,不是程式語言,是以後來随着 CSS 的應用越來越多,才會有 Sass 和 Less 這些擴充 CSS 文法的語言出來
CSS 的作用就是樣式,其實 Web 隻用 HTML也可以做出來,隻是随着機器和浏覽器性能的提升,人們對網頁的美觀和易用性要求越來越高,CSS 的重要性才逐漸凸顯。
CSS 我覺得有2個主要的作用:
可以将 Web 的樣式統一管理,便于修改,類似于程式語言中的變量或者配置檔案
将網頁内容和樣式分離開,讓靈活呈現内容成為可能
注意 HTML 才是網頁的實際内容,CSS 隻是控制HTML元素的如何顯示,顯示與否。
CSS 在布局上用的最多,就是因為了有了 CSS,才會有所謂的 div+css 布局方式,以前用 HTML 都是 table 布局。
初步了解 div+css 的布局,我覺得了解3點就夠了,框模型,定位和浮動。
每個div對于css來說都是一個 框 。每個框由内到外由4部分組成 content padding border margin
div 的長和框由這4部分的長之和和寬之群組成
示例:
例子很簡單,但是可以看出:
從外到内 依次是 margin, border, padding, content
div 的 width 和 height 隻是 content 的大小
了解了 框模型之後,定位也很簡單,其實就是将一個個框定位在頁面上。
定位分為絕對定位和相對定位。
就是在浏覽器上的絕對位置,通過 top 和 left 屬性設定相對于浏覽器左上角的距離
絕對定位明确但不靈活,除非螢幕大小能固定,否則需要多套css。設定不好會造成元素的重疊。
絕對定位中有個很關鍵的設定是 position: absolute
相對定位中每個 div 的 top 和 left 不再是相對浏覽器的左上角了。而是相對剩餘位置的左上角。
同樣是上面的例子,把 position: absolute 換成 position: relative 可以發現2個div 不再重疊了。
div 預設是 inline的,也就是每個 div 占據了一行。
布局時,如果希望多個div排列在一行,那麼就會用到浮動(或者用以前的 table方式)
設定 div 浮動屬性之後,就可以用div布局出各種結構。
下面以常見的管理系統為例,做一個簡單的 div+css 布局
上面的示例中,head,foot 高度固定,nav 寬度固定。其他都是自适應的,可以通過調整浏覽器視窗的大小看到效果。
CSS 布局很簡單,如果還有其他的互動動作,可以通過js來實作(比如導航和内容的關聯)。
現在已經基本沒有人會用 table 的布局方式了,因為 table 本來隻展現資料的一種方式,row,cell 的方式也不适合元件化。
本文轉自wang_yb部落格園部落格,原文連結:http://www.cnblogs.com/wang_yb/p/6066036.html,如需轉載請自行聯系原作者