HTML5權威指南筆記:7-創建HTML文檔

1-構築基本的文檔結構

1.1 DOCTYPE元素

DOCTYPE元素
元素類型
允許具有的父元素
局部屬性
內容
標籤用法 單個開始標籤
是否爲HTML5新增
在HTML5中的變化 HTML4中要求要有的DTD 已不再使用
習慣樣式

例子:

<!--這個元素告訴瀏覽器兩件事情: 第一, 它處理的是HTML文檔;第二,用來標記文檔內容的HTML所屬的版本-->
<!DOCTYPE html>

1.2 html元素

html元素
元素類型
允許具有的父元素
局部屬性 manifest (詳見第40章)
內容 head元素和body元素各一
標籤用法 開始標籤和結束標籤、內含其他元素
是否爲HTML5新增
在HTML5中的變化 manifest屬性是HTML5 中新增的。HTML4版本中的屬性已不再使用
習慣樣式 html { display: block; }
html:focus { outline: none;}

例子:

<!DOCTYPE HTML>
<!--html元素更恰當的名稱是根元素,它表示文檔中HTML部分的開始-->
<html>
</html>

1.3 head 元素

head元素
元素類型
允許具有的父元素 html
局部屬性
內容 必須有一個title元素,其他元數據元素可有可無
標籤用法 開始標籤和結束標籤。內含其他元素
是否爲HTML5新增
在HTML5中的變化
習慣樣式

例子:

<!DOCTYPE HTML>
<html>
<!--head元素包含着文檔的元數據。在HTML 中, 元數據向瀏覽器提供了有關文檔內容和標記的
信息, 此外還可以包含腳本和對外部資源( 比如css樣式表)的引用-->
<head>
</head>
</html>

1.4 body元素

body元素
元素類型
允許具有的父元素 html
局部屬性
內容 所有短語元素和流元素
標籤用法 開始標籤和結束標籤
是否爲HTML5新增
在HTML5中的變化 alink 、background 、bgcolor 、link 、margintop 、marginbottom 、marginleft 、marginright 、marginwidth 、text和vlink屬性已不再使用。這些屬性的效果可用css實現
習慣樣式 body { display: block; margin: 8px; }
body:focus { outline: none; }

例子:

<!DOCTYPE html>
<html>
<head>
</head>
<!--文檔的內容包裝在body元素中-->
<body>

</body>
</html>

2 用元數據元素說明文檔

2.1 設置文檔標題(title元素)

title元素
元素類型 元數據
允許具有的父元素 head
局部屬性
內容 文檔標題或對文檔內容言簡意骸的說明
標籤用法 開始標籤和結束標籤。內含文字
是否爲HTML5新增
在HTML5中的變化
習慣樣式 title { display: none; }

例子:

<!DOCTYPE HTML>
<html>
    <head>
        <!-- 使用title元素設置文檔標題和名稱-->
        <title>Example</title>
    </head>
</html>

2.2 設置相對URL的解析基準(base元素)

base元素
元素類型 元數據
允許具有的父元素 head
局部屬性 href 、target
內容
標籤用法 虛元素形式
是否爲HTML5新增
在HTML5中的變化
習慣樣式

例子:

<!DOCTYPE HTML>
<html>
    <head>
        <title>Example</title>

        <base href="http://titan/listings/" target="_blank"/><!--設置好URL後在下面的a元素就會用到這裏的路徑-->
    </head>
    <body>
        <!--瀏覽器就會把基準URL和相對URL拼接成完整的URL: http://titan/listings/page2. htm1 。-->
        <a href="page2.html">Page 2</a><!--這裏會使用上面base的路徑-->
    </body>
</html>

2.3 用元數據說明文檔(meta元素)

meta元素
元素類型 元數據
允許具有的父元素 head
局部屬性 name 、content 、charset和http-equiv
內容
標籤用法 虛元素形式
是否爲HTML5新增
在HTML5中的變化 charset屬性是HTML5 中新增的。在HTML4 中, http-equiv屬性可以有任意多個不同值。而在HTML5 中情況有所不同,只有本小節所說的值才能使用。HTML4 中的scheme屬性在HTML5 中已不再使用。此外,現在已不再使用meta元素來指定網頁所用的語言(本章稍後會介紹HTML5 中的做法)
習慣樣式

例子:

<!DOCTYPE HTML>
<html>
<head>
    <title>Example</title>
    <!--1、在meta元素中用名/值對定義元數據-->
    <meta name="author" content="Adam Freeman" />
    <!--
    供meta 元素使用的預定義元數據類型
    application name    當前頁所屬Web應用系統的名稱
    author              當前頁的作者名
    description         當前頁的說明
    generator           用來生成HTML的軟件名稱(通常用於以Ruby on Rails 、ASP.NET等服務器端框架生成HTML頁的情況下)
    keywords            一批以逗號分開的字符串,用來描述頁面的內容-->

    <!--2、聲明字符編碼-->
    <meta charset="utf-8" />

    <!--3、模擬HTTP標頭文字-->
    <!--http-equiv屬性的用途是指定所要模擬的標頭字段名稱,字段值則由content屬性指定。此例
    將標頭字段refresh 的值設置爲5, 其作用是讓瀏覽器每隔5秒就再次載入頁面。-->
    <meta http-equiv="refresh" content="5" />
    <!--
    meta元素的http-equiv屬性允許使用的值
    refresh         以秒爲單位指定一個時間間隔,在此時間過去之後將從服務器重新載入當前頁面。也可以另行指定一個URL讓瀏覽器載入。如<meta http-equiv="refresh" content="5" http://apress.com" />
    default-style   指定頁面優先使用的樣式表。對應的content屬性值應與同一文檔中某個style元素或link元素的title屬性值相同
    content-type    這是另一種聲明HTML頁面所用字符編碼的方法。如<meta http-equiv="content-type" content="text/html charset=UTF-8" />
    -->
</head>
<body>
</body>
</html>

2.4 定義css樣式(style元素)

style元素
元素類型
允許具有的父元素 任何可包含元數據元素的元素,包括head 、div 、noscript 、section 、article 、aside
局部屬性 type 、media 、scoped
內容 css樣式
標籤用法 開始標籤和結束標籤。內含文字
是否爲HTML5新增
在HTML5中的變化 scoped展性爲HTML5 中新增
習慣樣式

例子:

<!DOCTYPE HTML> 
<html>
<head>
    <title>Example</title>
    <!--使用style元素指定樣式
    type屬性指定樣式類型
    scoped屬性指定樣式作用範圍(尚無主流瀏覽器支持style元素的scoped屬性)
    media屬性指定樣式適用的媒體-->
    <style media="screen AND (max-width:500px)" type="text/css">
        a {
            background-color: grey;
            color: white;
            padding: 0.5em;
        }
    </style>
    <style media="screen AND (min-width:500px)" type="text/css">
        a {
            color: Red;
            font-style: italic;
        }
    </style>
    <!--供style元素的media屬性用的規定設備值
    all             將樣式用於所有設備(默認值)
    aural           將樣式用於語音合成器
    braille         將樣式用於盲文設備
    handheld        將樣式用於手持設備
    projection      將樣式用於投影機
    print           將樣式用於打印預覽和打印頁面時
    screen          將樣式用於計算機顯示器屏幕
    tty             將樣式用於電傳打字機之類的等寬設備
    tv              將樣式用於電視機-->

    <!--供style元素的media屬性使用的特性 AND(可以是NOT和OR)後面的值
    width height            指定瀏覽器窗口的寬度和高度。單位爲px, 代表像素
    device-width            指定整個設備(而不僅僅是瀏覽器窗口)的寬度和高度。單位爲px, 代表像素
    device-height           
    resolution              指定設備的像素密度。單位爲dpi ( 點瑛寸)或dpcm( 點/釐米)
    orientation             指定設備的較長邊朝向。支持的值有portrait和landscape。該特性沒有限定詞
    aspect-ratio            指定瀏覽器窗口或整個設備的像素寬高比。其值表示爲像素寬度與像素高度的比值
    device-aspect-ratio
    color monochrome        指定彩色或黑白設備上每個像素佔用的二進制位數
    color-index             指定設備所能顯示的顏色數目
    scan                    指定電視的掃描模式。支持的值有progressive和interlace。該特性沒有限定詞
    grid                    指定設備的類型。網格型設備使用固定的網格顯示內容,例如基於字符的終端和單行顯示的尋呼機。支持的值有0和l ( l 代表網格型設備) 。該特性沒有限定詞-->
</head>
<body>
</body>
</html>

2.5 指定外部資源(link元素)

link元素
元素類型 元數據
允許具有的父元素 head 、noscript
局部屬性 href 、rel 、hreflang 、media 、type 、sizes
內容
標籤用法 虛元素形式
是否爲HTML5新增
在HTML5中的變化 新增了sizes屬性。原來的charset 、rev和target屬性在HTML5 中已不再使用
習慣樣式

例子:

<!--
link元素的局部屬性
href        指定link元素指向的資源的URL
hreflang    說明所關聯資源使用的語言
media       說明所關聯的內容用於哪種設備。該屬性使用的設備和特性值與《7.2.4 定義css樣式(style元素)》中介紹的相同
rel         說明文檔與所關聯資源的關係類型
sizes       指定圖標的大小。本章後面有一個用link元素載人網站標誌的例子
type        指定所關聯資源的MlME類型,如text/css 、image/x-icon

link元素的rel屬性值選編
alternate   鏈接到文檔的替代版本,比如另一種語言的譯本
author      鏈接到文檔的作者
help        鏈接到當前文檔的說明文檔
icon        指定圖標資源,參見下面所示
license     鏈接到當前文檔的相關許可證
pingback    指定一個回探( pingback) 服務器。從其他網站鏈接到博客的時候它能自動得到通知
prefetch    預先獲取一個資源
stylesheet  載入外部樣式表
-->
<!DOCTYPE HTML>
<html>
<head>
    <!--用link元素載入外部樣式表-->
    <link rel="stylesheet" type="text/css" href="styles.css" />
    <!--用link元素添加網站標誌-->
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <!--預先獲取關聯的資源(只有Firefox 支持link元素的預先獲取功能)-->
    <link rel="prefetch" href="/page2.html" />
</head>
<body>
</body>
</html>

3 使用腳本元素

3.1 script 元素

script元素
元素類型 元數據/短語
允許具有的父元素 可以包含元數據或短語元素的任何元素
局部屬性 type 、src 、defer 、async 、charset
內容 腳本語言語句。用於導入外部JavaScript庫時元素沒有內容
標籤用法 必須使用開始標籤和結束標籤。不能使用自閉合標籤,就算引用外部JavaScript庫也是如此
是否爲HTML5新增
在HTML5中的變化 在HTML5中type屬性可有可無, async屬性是新增的, HTML中的屬性language在HTML5中已不再使用
習慣樣式

例子:

<!--
script元素的局部屬性
type    表示所引用或定義的腳本的類型,對於JavaScript腳本這個屬性可以省略
src     指定外部腳本文件的URL, 參見後面的例子
defer   設定腳本的執行方式,參見後面的例子。這兩個屬性只能與src屬性一同使用
async
charset 說明外部腳本文件所用字符編碼,該屬性只能與src屬性一同使用
-->

<!DOCTYPE html>
<html>
<head>
    <!--1. 定義文檔內嵌腳本-->
    <script>
            document.write("This is from the script");
    </script>

    <!--2 載入外部腳本庫,用src屬性載入外部腳本-->
    <script src="simple.js"></script>

    <!--3. 推遲腳本的執行,使用帶defer屬性的script元素
    瀏覽器在遇到帶有defer屬性的script元素時,會將腳本的加載和執行推遲到HTML文檔中所有元素都已得到解析之後-->
    <script defer src="simple2.js"></script>

    <!--4 異步執行腳本,使用async屬性
    使用async屬性的一個重要後果是頁面中的腳本可能不再按定義它們的次序執行。因此如果
    腳本使用了其他腳本中定義的函數或值,那就不宜使用async屬性-->
    <script async src="simple2.js"></script>
</head>
<body>
</body>
</html>

3.2 noscript元素

noscript元素
元素類型 元數據/短語/流
允許具有的父元素 任何可以包含元數據元素、短語元素或流元素的元素
局部屬性
內容 短語元索或流元素
標籤用法 開始標籤和結束標籤都需要
是否爲HTML5新增
在HTML5中的變化
習慣樣式

例子:

<!DOCTYPE html>
<html>
<head>
    <!--使用noscript元素,當腳本被禁用時顯示-->
    <noscript>
        <h1>Javascript is required!</h1>
        <p>You cannot use this page without Javascript</p>
    </noscript>

    <!--用noscript元素重定向瀏覽器,瀏覽器不支持JavaScript時將其引至另一個URL-->
    <noscript>
        <meta http-equiv="refresh" content="0; http://www.apress.com" />
    </noscript>
</head>
<body>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章