HTML5與HTML4的區別

来源:https://www.cnblogs.com/zmlljx/archive/2020/01/19/12215028.html
-Advertisement-
Play Games

HTML5和HTML4在基本語法上的區別? 1. 內容類型(ContentType) HTML5中的文件擴展符仍然為".html" 或 ".htm",內容類型仍然為"text/html"。 2. DOCTYPE聲明 HTML4: <!DOCTYPE html PUBLIC "-//W3C//DTD ...


HTML5和HTML4在基本語法上的區別?

1. 內容類型(ContentType)

       HTML5中的文件擴展符仍然為".html" 或 ".htm",內容類型仍然為"text/html"。

2. DOCTYPE聲明

HTML4:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://wwww.w3.org/TR/xhtml1-transitional.dtd">

HTML5:

<!DOCTYPE html>
//當使用工具時,也可以在DOCTYPE聲明方式中加入SYSSTEM識別符,聲明方法如下:
<!DOCTYPE HTML SYSTEM "about:legacy-compat">

3. 指定的字元編碼

 HTML4中使用meta元素的形式指定文件中的字元編碼,如下所示:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

 HTML5中,可以使用<meta>元素直接追加charsetd屬性的方式來指定字元編碼,如下所示:

<meta charset="UTF-8">

這2種方式都有效,也可以用前一種方式,但是不能同時混用,下麵這種方式是錯誤的。

<meta charset="UTF-8" http-equiv="Content-Type" content="text/html;charset=UTF-8">

HTML5中新增元素

新增與結構相關的元素

section元素表示頁面中一個內容區塊,<section>...</section>,HTML4中代碼示例<div>...</div>。

article元素表示頁面中一塊與上下文不相關的獨立內容,<article>...</article>,HTML4中代碼示例<div>...</div>。

aside元素表示article元素的內容之外的、與article元素的內容相關的輔助信息。<aside>...</aside>,HTML4中代碼示例<div>...</div>。

header元素表示頁面中一個內容區塊或整個頁面的標題。<header>...</header>,HTML4中代碼示例<div>...</div>。

hgroup元素用於對整個頁面或頁面中一個內容區塊的標題進行組合。<hgroup></hgroup>,HTML4中代碼示例<div>...</div>。

footer元素表示整個頁面或頁面中一個內容區塊的腳註。一般來說,它會包含創作者的姓名、創作日期以及創作者聯繫信息。<footer></footer>,HTML4中代碼示例<div>...</div>。

nav元素表示頁面中導航鏈接的部分,<nav></nav>,HTML4中代碼示例<ul>...</ul>。

figure元素表示一段獨立的流內容,一般表示文檔主體流內容的一個獨立單元,使用figcaption元素為figure元素添加標題。

<figure>
<figcaption>/...</figucaption>
<p>...</p>
</figure>

//HTML4中的代碼示例

<dl>
<h1>...</h1>
<p>...</p>
</dl>

其他元素

video元素,定義視頻,比如電影片段或其他視頻流。

//HTML5中代碼示例

<video src="movie.ogg" controls="controls">video元素</video>


//HTML4中代碼示例

<objext type="video/ogg" data="movie.ogg">
  <param name="src" value="movie.ogg">
</object>

audio元素,audio元素定義音頻,比如音樂或其他音頻流。

//HTML5中代碼示例

<audio src="movie.wav">video元素</audio>


//HTML4中代碼示例

<objext type="application/ogg" data="movie.wav">
  <param name="src" value="movie.wav">
</object>

embed元素, embed元素用來插入各種多媒體,格式可以是Midi、Wav、AIFF、AU、MP3等。

//HTML5中代碼示例

<embed src="movie.wav" />


//HTML4中代碼示例

<objext type="application/x-shockwave-flash" data="movie.wav"></object>

mark元素主要用來在視覺上向用戶呈現那些需要突出顯示或高亮顯示的文字。典型就是在搜索結果中向用戶高亮顯示搜索關鍵詞。

//HTML5中的代碼示例

<mark></mark>


//HTML4中的代碼示例

<span></span>

progress元素,progress元素表示運行中的進程,可以使用progress元素來顯示javascript中耗費時間的函數進程。<meter></meter> ,這是HTML5中新增功能,HTML4中代碼無法實現。

time元素,time元素表示日期或時間,同時可以表示兩者。

//HTML5中的代碼示例

<time></time>


//HTML4中的代碼示例

<span></span>

ruby元素,ruby元素表示 ruby註釋(中文註音或字元),這也是HTML5中新增的功能。

<ruby><rt><rp>(</rp>...<rp>)</rp></rt></ruby>

rt元素,rt元素表示字元(中文註音或字元)的解釋或發音。

rp元素,rp元素在ruby註釋中使用,以定義不支持ruby元素的瀏覽器所顯示的內容。

wbr元素,wbr元素表示軟換行。wbr元素與br元素的區別是: br元素表示此處必須換行,而wbr元素的意思是瀏覽器視窗或父級元素的寬度足夠寬時不進行換行,而當寬度不夠時,主動在此處換行。

<p>... <wbr></p>

canvas元素,canvas元素表示圖形, 比如圖標和其他圖像,僅提供畫布,但它把一個繪圖API展現給客戶端javascript,以使腳本想把繪製的東西繪製到這塊畫布上。

//HTML5中的代碼示例

<canvas id="myCanvas" width="200" height="200"> </canvas>


//HTML4中的代碼示例

<object data="inc/exm.svg" type="image/svg/svg+xml" width="200" height="200"></object>

command元素,command元素表示命令按鈕,比如單選按鈕、覆選框或按鈕,這是HTML5中新增的功能。

<command onclick="cut()" label="cut">

details元素,details元素表示用戶要求得到並且可以得到的細節信息。它可以與summary元素配合使用。summary元素提供標題或圖例, 這是HTML5中新增的功能。

<details>
  <summary>HTML 5</summary>
  ...
</details>

datalist元素,datalist元素表示可選數據的列表,與input元素配合使用,可以製作輸出值的下拉列表。這是HTML5中新增的功能。

<datalist></datalist>

datagrid元素,datagrid元素表示可選數據的列表,它以樹形的形式來顯示,這是HTML5中新增的功能。

<datagrid></datagrid>

keygen元素,keygen元素表示生成密鑰,這是HTML5中新增的功能。

<keygen>

output元素,output元素表示不同類型的輸出,比如腳本的輸出。

//HTML5中的代碼示例

<output></output>


//HTML4中的代碼示例

<span></span>

source元素,source元素為媒介元素(比如<video>和<audio>)定義媒介資源。

//HTML5中的代碼示例

<source>


//HTML4中的代碼示例

<param>

menu元素,menu元素表示菜單列表,當希望列出表單空間時使用該標簽,在HTML4中不被推薦使用。

<menu>
  <li><input type="checkbox">RED</li>
  <li><input type="checkbox">blue</li>
</menu>

新增的input元素的類型

        email、url、number、range、Date Pickers

        Date Pickers:

        date(年、月、日)

        month(月、年)

        week(周和年)

        time(時間小時和分鐘)

        datetime(選擇時間、日、月、年(UTC時間))

        datetime-local(選取時間、日、月、年(本地時間))。

HTML5中新增屬性

    表單相關的屬性

                        1. 可以對input(type=text)、select、textarea與button元素指定autofocus屬性。它是以指定屬性的方式讓元素在畫面打開時自動獲得焦點。

                        2. 可以對input(type=text)與textarea元素指定placeholder屬性,它會對用戶的輸入進行提示,提示用戶可以輸入的內容。

                        3. 可以對input(type=text)與textarea元素指定required屬性,該屬性表示在用戶提交的時候進行檢查,檢查該元素內一定要有輸入內容。

                        4. 對input新增的屬性:autocomplete、min、max、multiple、pattern與step。

                        5. 對input和button元素新增新屬性:formaction、formenctype、formmethod、formnovalidate與formtarget。為fieldset元素增加了disabled屬性,可以把它的子元素設為disabled狀態。

                        6. 為input、button、form元素增加了novalidate屬性,該屬性可以取消提交時進行的有關檢查,表單可以被無條件地提交。

    鏈接相關屬性

                        1. 為a與area增加了media屬性,該屬性規定目標URL是什麼類型的媒介/設備進行優化的,在鞥在href屬性存在時使用。

                        2.  為area元素增加了hreflang屬性與rel屬性,以保持與a元素、link元素的一致。

                        3. 為link元素增加了新屬性sizes。

                        4. 為base元素增加了target屬性,主要目的是保持與a元素的一致性。

    其他屬性

                        1. 為ol元素添加reversed,指定列表倒序顯示。

                        2. 為meta元素增加charset屬性。

                        3. 為menu增加 type和label屬性。

                        4. 為style元素增加scoped屬性,用來規定樣式的作用範圍。

                        5. 為script增加async屬性 ,定義腳本是否非同步執行。

                        6. 為html元素增加屬性manifest,開發離線web應用程式時它與其他API結合使用,定義一個URL,在這個URL上描述文檔的緩存信息。

                        7. 為iframe元素增加sandbox、seamless、srcdoc,用來提高頁面安全性,防止不信任的web頁面執行某些操作。

 

幾個常用的全局屬性

    全局屬性

                        全局屬性的概念是HTML5中新增的,是指可以對任何元素都使用的屬性。

    contentEditable

                        contentEditable是一個布爾值屬性,主要功能是允許用戶編輯元素中的內容,所以該元素是可以獲得滑鼠焦點的元素,而且在點擊滑鼠後要向用戶提供一個插入符號,提示該元素中的內容允許編輯。

    designMode

                        designMode屬性有2個值,"on"和"off",用來指定整個頁面是夠可編輯,當頁面編輯時,任何支持上文的contentEditable屬性的元素都變成可編輯狀態。

document.designMode = "on";

    hidden

                        hidden屬性類似於input元素中的hidden元素,功能是通知瀏覽器不渲染該元素,使該元素處於不可見狀態。

    spellcheck

                        spellcheck是HTML5針對input(type=text)與textarea這2個文本輸入框提供的一個新屬性,它對用戶輸入的文本內容進行拼寫和語法檢查。  spellcheck屬性是一個布爾屬性值,特別的是使用這個屬性時必須聲明屬性值為true或false。

                        註意!!! 元素為readOnly屬性或disabled屬性設為true時,不執行拼寫檢查。

    tabindex

                        tabindex是開發中的一個基本概念,當不斷敲擊Tab鍵讓視窗或頁面中的控制項獲得焦點,對視窗或頁面中的所有控制項進行遍歷的時候,每一個控制項的tabindex表示該控制項是第幾個被訪問到的。作用二是在預設情況下,只有鏈接元素與表單元素可以通過按鍵獲得焦點。但是有副作用,腳本中執行focus()語句可以獲得焦點,該元素也可以通過按Tab鍵獲得焦點。所以把元素tabindex值設為負數(-1)。

 

參考資料:

【中】陸凌牛 著  機械工業出版社《HTML5 與 CSS3 權威指南》


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • babel:將瀏覽器不支持的ES6語法轉為javascript 查看node是否安裝: npm -v node -v 實例演示:在桌面新建part5目錄在cmd命令行中 cd desktop cd part5 安裝babel:初始化package.json文件:描述當前項目信息,包括依賴等 npm ...
  • Angular 是什麼 Angular(讀音['æŋgjʊlə])是一套用於構建用戶界面的 JavaScript 框架。由 Google 開發和維護,主要被用來開發單頁面應用程式。 類似於 "Vue.js" + MVVM(數據驅動視圖思想) + 組件化 + 模塊化 + 指令 + ...... 由 G ...
  • 目前,無論你使用什麼前端框架,都必然要使用到各種 NodeJS 工具,Angular 也不例外。與其它框架不同,Angular 從一開始就走的“全家桶”式的設計思路,因此 @angular/cli 這款工具裡面集成了日常開發需要使用的所有 Node 模塊,使用 @angular/cli 可以大幅度降 ...
  • ng啟動過程 目錄結構 介紹 文件 main.js 描述:模塊化啟動入口 職責:載入啟動根模塊 AppModule 描述:項目根模塊 職責:把組件、服務、路由、指令等組織到一起,設置啟動組件為根組件 AppComponent 描述:項目根組件 職責:替換掉 文件中的 `` 節點 ...
  • ...
  • Html5學習系列 HTML5 規定了一種通過 video 元素來包含視頻的標準方法 Ogg = 帶有 Theora 視頻編碼和 Vorbis 音頻編碼的 Ogg 文件 MPEG4 = 帶有 H.264 視頻編碼和 AAC 音頻編碼的 MPEG 4 文件 WebM = 帶有 VP8 視頻編碼和 Vo ...
  • 全局事件屬性 HTML 4 的新特性之一是可以使 HTML 事件觸發瀏覽器中的行為,比方說當用戶點擊某個 HTML 元素時啟動一段 JavaScript。 如果你想學習更多關於事件屬性,請訪問 JavaScript 教程 下麵的表格提供了標準的事件屬性,可以把它們插入 HTML/XHTML 元素中, ...
  • 我們在寫asp頁面的時候,常常使用include命令來包含公共文件。由於這個方法用起來非常方便,於是很多人在HTML頁面里嘗試使用include,但是發現根本就不起作用。這是因為,include是VBScript的命令,因此可以在asp頁面里使用。而HTML靜態頁面被調用的時候並不經過asp解釋器, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...