HTML
網頁的核心是內容與樣式,HTML就是其前者——內容。脫離了內容的樣式是沒有意義的,也就是說離開HTML光談CSS是沒有意義的。HTML語言其實很好辨認,由兩個尖括號:<和>包起來的就被稱為標簽,如果你看到某個文檔里時不時出現標簽,那這份文檔十有八九都是由HTML語言(或者它的親戚XML)寫成的。
而由一對標簽(比如和)包起來的所有文字內容,便被稱為元素。元素開頭的標簽就被稱為開始標簽,而末尾的標簽則被稱為結束標簽。開始標簽和結束標簽之間可以沒有任何文字;
有一種特殊的自閉合標簽,比如水平線或者圖片,它們的斜杠位于尖括號里面,這樣的標簽本身就是一個元素。
元素都有它的名字,名字就是開始標簽的那個尖括號后面的第一個單詞,這個名字是給電腦看的,但它很重要!因為:
某些元素只能位在特定的元素內。
某些元素只能位在特定的位置上。
關于HTML,我要說的最后一個東西就是屬性。屬性會出現在元素的開始標簽里,通過空格區分不同的屬性,而寫法是屬性名="屬性值"。對于使用css的設計師來說,class屬性就是最重要也是最經常使用的屬性之一。
CSS
這就是網頁的第二個核心——樣式。理論上講它可以規定網頁的一切表現,位置、顏色、大小、距離…設計稿上的所有效果都可以借助它一一呈現,但是在實際應用中配合功能和性能以及各方面的要求,導致設計師的構想并不一定能夠完整表達。
HTML代碼可以寫在很多文件中,而css代碼只能出現在兩個地方:css文件或者html文件中。
選擇器是用來告訴瀏覽器,樣式需要應用到哪個元素上,它的功能非常強大——可以直接按元素名稱選擇,也可以按元素的id屬性值選擇,還可以按元素的class屬性值來選擇,甚至可以選擇某個元素的兄弟、兒子、孫子,還能選擇元素的狀態。
在HTML及CSS中都經常提到的一個詞,class,通常也被稱作類。一個元素是可以擁有多個類的(但不能擁有多個id,整個HTML文件中的所有元素的id屬性值都應該是唯一的),類名與類名之間使用空格隔開,而類名不能使用中文。通過類選擇器選擇元素,是CSS中最常見的選擇方式。
CSS的屬性和前面說過的元素的屬性是完全不同的,有興趣的話可以讀一下這篇文章,之后我會盡量區分說明,請各位盡量避免混淆。每一條CSS屬性-值都構成一個聲明,每一句聲明之后都需要一個半角分號;來作為結束(就像我們寫作時所用的句號)。
至于大括號({和}),這是css的語法標記,就像HTML中的尖括號,時刻不要忘,否則易出錯。
HTML + CSS
HTML 與 CSS 結合在一起,設計稿就這樣從一張圖片變成了我們在瀏覽器中瀏覽的靜態網頁,當然這也就是以前可能會經常聽到的 DIV + CSS 。這樣話說起來很輕巧,但是無論是 HTML 還是 CSS 都是需要一個字一個字打出來的…而更多的問題,就在 HTML 與 CSS 的結合過程中產生了。
html元素是所有網頁都必須要具備的,網頁中的一切內容必須寫在html元素內;
head元素是給瀏覽器和搜索引擎準備的,大部分并不會顯示在頁面上;
title元素中的內容會顯示在瀏覽器標題欄的位置上;
link元素的href屬性則指示了這個頁面所使用的css文件的;
還有可能會出現script元素,它將會指示這個頁面所使用的js文件;
body元素是放置網頁內容的地方(你以后所寫的99.9%的HTML代碼都會位于這個元素內)。
標簽之前的空格被稱作“縮進”,良好的縮進習慣可以幫助寫出易讀的代碼,在任何一個項目或者頁面中,都應該正確使用縮進。上面所展示的代碼就是一個基本的縮進示范,每個子元素都比其父元素縮進一個單位。
一般的縮進只要按下鍵盤左邊的Tab鍵就好,但是在程序員中廣泛存在一種究竟是一個Tab好還是兩個空格好的爭議(如同咸甜豆腐腦般的存在)。當然在書寫過程中,沒有人會去按兩下空格,他們通常是把Tab的輸入改為兩個空格而已(所以你只要記得,縮進一個單位按一下Tab就好)