winiAlienHacker 的 Blog 。放一些日記之類的東西上來用的。
本文單純當作文件和資源整理用的,內文就隨便寫了這樣。
另外為了避免我出事無法完成,所以先把綱要和草稿扔上來。
對了,一直忘了要先給這東西,各位寫好網頁時,記得丟上這網頁檢查一下哦。 → The W3C Markup Validation Service
2 HTML 元素 這裡開始,會直接把 HTML 中常用也很實用的元素,一次教給各位。 不過在開始前,希望能記住幾個簡單的使用規則。 - 標籤的使用規則: 元素要能產生標記的功能,就要用小於符號 < (lesser than) 跟 大於符號 > (greater than) 兩個括號(bracer)包住,形成標籤;並且再用一個起始標籤, 跟一個結束標籤,包住要定義結構的內文。 - 標籤的內容: 起始標籤,寫成 <element> ,結束標籤,寫成 </element> 。 而起始標籤中,又有「屬性(attribute)」跟屬性的「值(value)」兩要素, 而同一個標籤中,這兩要素是可以複數存在的。 所以一個起始標籤格式可能寫成這樣: <element attr1="value" attr2="value21 value22"> 。 這裡要注意的,是在於半形空格的定義;半形空格是用來區別不同要素的, 尤其重要的是要把起始標籤中的元素名稱跟屬性名稱隔開, 所以用很多半形空格是沒意義的,在適當的地方放置半形空格就好。 - 元素的巢狀結構: HTML 是很重視一層父元素包一層子元素,彼此間不重疊 (亦即裡面元素的結束標籤不會跑到外面來)的父子巢層結果的。 然而除了各層不重疊外,也有不可放在某元素中的某元素存在的, 大致的規則如下: -- 區塊(block)元素與行內(inline)元素: 就跟各位看的書本一樣, 段落中有些字會特別粗,或字體不同,或是斜體或是加線, 這裡的段落就叫做區塊元素,而那些字型效果就是由行內元素處理的。 在 HTML 中,行內元素是不能當區塊元素的父巢層的。 -- 不可以包住某些元素的元素: 就跟各位看的書本一樣, 段落不會裡面再包一個段落(想像一下,書中的一段讀到一半,忽然插個別的段落進來。), 段落不會裡面再包一個表格……或者應該這樣說, HTML 中的段落 p 元素, 除了放行內元素外,幾乎不能放任何區塊元素進去。 嗯,上面的說明很長,不過這是因為下面不會再特別說明的關係。 那下面就開始介紹常用的 HTML 元素了。 (如果各位在第一篇有看過網頁原始碼的話,那應該也會記住一些。) fieldset 與 legend: fieldset 等於是用框框包住一個區域的修飾用元素,而 legend 則是這元素的標題,兩者是搭一起用的, fieldset 起始標籤後面,一定要馬上接 legend 元素。另外可以把這組元素,當成是有畫了格子的一個章節,還有該章節的大標題來看。 備註: - HTML 中常用元素表: http://www.w3.org/TR/html401/index/elements.html 3 標準網頁 標準網頁?那是啥? 其實大多數的網頁,都是隨瀏覽器任意解釋的, 這點在只使用我上面說的那些元素跟屬性, 而且有好好寫起始結束標籤時,可能看不太出來, 不過以後各位的網頁結構越趨複雜,並且加入使用 HTML 以外的語言後, 就會知道各瀏覽器的「怪癖(Quirk)」模式有多嚴重了。 總之為了避免你寫出來的網頁,搬到另一個瀏覽器上看, 卻跑出非常不一樣的結果,就必須讓瀏覽器依照一個公訂規格來排版, 而訂立這些規格的,最大的一個組織,就是「W3C」 (另外就筆者所知,創立W3C的,就是當初發明文件連結機制的人。) 總之瀏覽器過去各造新功能搶奪市場的事就先不提, 這裡只告訴各位怎麼弄出標準網頁。 標準網頁的宣告方式,就是在 HTML 文件第一行,加入 DOCTYPE 宣告。 DOCTYPE 裡面會包含你所要使用的規格版本、嚴謹度、 還有規格書參照網址(離題扯一下,像 Apache 這玩意,要是參照網址查不到 東西,那個網頁就沒辦法用,所以以後有要用 Apache 的人,記得把規格書 抓回來本機,再從這兒指定本機路徑……嗯,大概是這樣弄啦。)。 規格版本目前常用的有 HTML 4.01 和 XHTML 1.0 , XHTML 還有個 1.1 的, 不過用那個是在自虐,先別碰比較好。規格版本不同,主要是影響 瀏覽器排版出來的樣貌,不過各瀏覽器還是會有極少部分不同, 所以往後寫到 CSS 時,需要注意一下。 (對 HTML 跟 XHTML 的差別在哪有興趣的,可以參考後面的備註。) 嚴謹度,這會依據規格書所寫的,限定你的網頁元素可以用到哪些, 還有什麼元素不能包住什麼元素的樣子,總之寫得簡單,就不必太在意。 規格書參照網址,基本上就寫連到 W3C 網站上的就好, 然後注意規格書的檔名是 dtd 這樣。 (基本上 HTML 文件是不會連到該網址檢查這玩意的) 4 CSS div span 是沒有意義的元素,純粹只是為了加入樣式而用的。 也就是說,在純 HTML 文件中,這兩個元素對解釋文章結構並沒有用處, 所以 body 內只用 div 跟 span 這種事,最好只拿來當個人娛樂, 別丟上網路虐待人。
html body p /* html 下的 body 內的 p 元素 */ html > body > p /* 更明確指定 p 的層次觀念的選擇子 */ div.cLass /* class 的名稱為 "cLass" 的 div 元素 */ span#Id /* id 的名稱為 "Id" 的 span 元素 */ a:focus /* 當游標移到 a 元素上時…… */ ul li.test:hover /* 當鼠標放在 ul 下 class 名稱為 "test" 的 li 元素時…… */ table tr:first-child /* table 下的第一個 tr 元素 */ a[href] img:after /* 在有弄超連結的 a 裡的 img 元素的後面……(可以寫 {content: attr(title)} 或 {content: "文字"} 等的來跑出文字來) */ h2+p /* 緊接在 h2 後的第一個 p 元素 */ table tr td+td+td /* 緊接在 table tr td 後第一個 td 後的第一個 td 元素 */ a[href*="moztw"] /* 有弄超連結的 a 元素中的 href 屬性若是包含 "moztw" 字串的話…… */
沒有留言:
張貼留言