歡迎大家學習《十天學會web標準》,也就是我們常說的DIV+CSS。不過這裡的DIV+CSS是一種錯誤的叫法,建議大家還是稱之為web標準。
學習本系列教程需有一定html和css基礎,也就是指您之前做過網頁,會用表格版面配置。如果您剛開始學習網頁製作,不知道什麼是表格版面配置及html和css,建議您先去充電,否則學習本教程會非常吃力或者根本就聽不懂。
由於時間關係,本教程只講解一些基礎知識,讓您從原來的表格版面配置跨入到web標準(div+css)布局,會使用web標準製作出常見的頁面,這也達到了本教程的目的。
本教程多以執行個體形式循序漸進講解,執行個體涉及到哪些關鍵點或痛點就講解什麼,較少講解概念。因為概念這些東西很難說明白,或者說明白你也不一定能聽懂,聽懂了也不一定能理解。所以把概念留給大家以後再深入研究。
由於章節關係,沒有把css和css hack單獨分出,只是在用到的時候穿插入講解了。html基礎和css基礎只在第一節中介紹了幾點重要的。
下面我們開始第一天的學習
一、xhtml css基礎知識
首先說一下我們這節課的知識點
文件類型
語言編碼
html標籤
css樣式
css優先順序
css盒模型組成
1)文件類型
當我們用dreamweaver建立一下html格式文檔時,查看原始碼,會發現代碼最上部有如下這句話:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這句話標明本文檔是過渡類型,另外還有架構和嚴格類型,目前一般都採用過渡類型,因為瀏覽器對XHTML的解析比較寬鬆,允許使用HTML4.01中的標籤,但必須符合XHTML的文法。許多朋友在製作頁面時,往往喜歡把這句刪除掉,在這裡建議大家一定要保留這句話,刪除它後可能引起某些樣式表失效或其它意想不到的問題。
2)語言編碼
接下來我們還會發現這樣一句話:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
它標示文檔的語言編碼。就像我們平時所說的漢語、英語一樣。這裡的gb2312告訴瀏覽器,本文檔採用簡體中文編碼;還有一種常用的編碼是UTF-8編碼,它是國際通用的編碼。不管我們採用哪種編碼,有一點就是包含的css樣式表和其它檔案也必須和本文檔的編碼一樣,要不就會出現亂碼。
3)html標籤
html標籤在頁面中都必須結束。成對的標籤以“/標籤名”結束,有些單一的標籤在本身的結尾打上/來結束,這是xhtml代碼編寫的規範。
成對的標籤:
<head>{...}</head>
<body>{...}</body>
<div>{...}</div>
<span>{...}</span>
<p>{...}</p>
......
單一的標籤:
<img src="" />
<br />
.......
還需說明一點的是按xhtml規範,標籤必須用小寫。
4)css樣式
載入css樣式有以下四種
外部樣式
內部樣式
行內樣式
匯入樣式
<link href="layout.css" rel="stylesheet" type="text/css" />
這種形式是把css單獨寫到一個css檔案內,然後在原始碼中以link方式連結。它的好處是不但本頁可以調用,其它頁面也可以調用,是最常用的一種形式。
<style>
h2 { color:#f00;}
</style>
這種形式是內部樣式表,它是以<style>和</style>結尾,寫在原始碼的head標籤內。這樣的樣式表只能針對本頁有效。不能作用於其它頁面。
<p style="font-size:18px;">內部樣式</p>
這種在標籤內以style標記的為行內樣式,行內樣式只針對標籤內的元素有效,因其沒有和內容相分離,所以不建議使用。
@import url("/css/global.css");
連結樣式是以@import url標記所連結的外部樣式表,它一般常用在另一個樣式表內部。如layout.css為首頁所用樣式,那麼我們可以把全域都需要用的公用樣式放到一個global.css的檔案中,然後在layout.css中以@import url("/css/global.css")的形式連結全域樣式,這樣就使代碼達到很好的重用性。
5)css優先順序
id優先順序高於class
後面的樣式覆蓋前面的
指定的高於繼承
行內樣式高於內部或外部樣式
總結:單一的(id)高於共用的(class),有指定的用指定的,無指定則繼承離它最近的
6)css盒模型組成
css盒模型是本節教程的重點。前面幾個知識點,如果您會用表格版面配置的話,就非常好理解和掌握了。這裡的盒模型是和table布局的一個不同點。學習web標準,首先要弄懂的就是這個盒模型,這就是DIV排版的核心所在。傳統的表格排版是通過大小不一的表格和表格嵌套來定位排版網頁內容,改用CSS排版後,就是通過由CSS定義的大小不一的盒子和盒子嵌套來編排網頁。這種排版方式的網頁代碼簡潔,表現和內容相分離,維護方便,能相容更多的瀏覽器,比如PDA裝置也能正常瀏覽。
那麼它為什麼叫盒子呢?先說說我們在網頁設計中常聽的屬性名稱:內容(content)、填充(padding)、邊框(border)、邊界(margin), CSS盒子模式都具備這些屬性。
我們可以把它想像成現實中上方開口的盒子,然後從正上往下俯視,邊框相當於盒子的厚度,內容相對於盒子中所裝物體的空間,而填充呢,相當於為防震而在盒子內填充的泡沫,邊界呢相當於在這個盒子周圍要留出一定的空間,方便取出。是不是這樣就很容易理解盒模型了。
所以整個盒模型在頁面中所佔的寬度是由左邊界+左邊框+左填充+內容+右填充+右邊框+右邊界組成,而css樣式中weight所定義的寬度僅僅是內容部分的寬度,這是許多朋友容易搞混的地方 這裡的邊界我們也稱之為:外邊距、外補丁;填充也叫:內邊距、內補丁。 如果現在您對CSS盒模型理解還不夠透徹,繼續往下看,後來的章節會都會應用到盒模型執行個體。 二、如何開始學習web標準? 1)有HTML和CSS基礎 學習本系列教程前,要求您有一定的html和css基礎,製作過網頁,會用表格進行網頁布局,這樣學習起來才會很輕鬆。如果您對這些還不懂,建議先學習這些知識,然後再來學習本教程。 2)轉變觀念 在以前我們製作網站時,總是習慣於先考慮外觀、顏色、字型及布局等所有表現在頁面上的內容。但外觀並不是最重要的,相反終端使用者在訪問網頁時的體驗才是優先要考慮的。一個由div+css布局且結構良好的頁面可以通過css定義成任何外觀,在任何網路裝置上(包括手機、PDA和電腦)上以任何外觀表現出來,而且用div+css布局構建的網頁以夠簡化代碼,加快顯示速度。 所以要想學好div+css,首先要轉變觀念,需要拋棄傳統的表格(Table)布局方式,採用層(DIV)布局,並且使用層疊樣式表(CSS)來實現頁面的外觀。給網站瀏覽者更好的體驗。 3)多動手、多動腦 說到這點,有點小兒科了,就像我們上小學時老師常常教我們的那樣。為什麼我在這裡也做為一點列出來呢,我是通過評論發現,有些同學提的問題太沒水平了,稍微動下腦筋就明白了,或者自己動手一試就知道了,但他就懶得試。舉個簡單的例子,拿瀏覽器安全色來說吧,你寫個樣式之後,在IE和Firefox分別開啟看一下不就明白了,但就是不去做。還有一個同學留言要我把一個執行個體中的圖片打包發給他,我一看代碼,就用到一張圖片,無語了,有你留言的這個時間,自己也早把圖片下載下來了。所以在這裡告誡大家,一定要多動手、多動腦,不要怕麻煩。另外在學習完一節教程後,一定要自己做一遍執行個體,這樣能更快掌握 |