如何區別HTML和HTML5?

要區分 HTML(通常指 HTML4 及更早版本)和 HTML5,主要可以從以下關鍵方面進行比較:


一、文檔聲明區別

<!-- HTML4 文檔聲明 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"><!-- XHTML 文檔聲明 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><!-- HTML5 文檔聲明(極簡) -->
<!DOCTYPE html>

二、語義化標簽對比

用途HTML4 標簽HTML5 新標簽
頭部區域<div class="header"><header>
導航欄<div class="nav"><nav>
內容區塊<div class="section"><section>
獨立文章<div class="article"><article>
側邊欄<div class="sidebar"><aside>
頁腳<div class="footer"><footer>
主要內容區<div class="main"><main>

? HTML5 通過語義化標簽取代了泛濫的 <div>,提升可讀性和SEO


三、多媒體支持差異

<!-- HTML4 依賴插件 -->
<object data="video.mp4"><embed src="video.mp4"> <!-- 兼容性寫法 -->
</object><!-- HTML5 原生支持 -->
<video controls><source src="video.mp4" type="video/mp4">
</video><audio controls><source src="audio.mp3" type="audio/mpeg">
</audio>

四、圖形技術演進

<!-- HTML4 僅支持靜態圖片 -->
<img src="image.png" alt="示例"><!-- HTML5 新增矢量繪圖能力 -->
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>const ctx = document.getElementById('myCanvas').getContext('2d');ctx.fillStyle = "#FF0000";ctx.fillRect(0, 0, 150, 75);
</script><!-- SVG 內聯支持 -->
<svg width="100" height="100"><circle cx="50" cy="50" r="40" stroke="green" fill="yellow" />
</svg>

五、表單功能增強

功能HTML4HTML5
輸入類型僅基礎類型(text/password)email/url/number/date
color/range/search
表單驗證需JavaScript實現原生驗證 (required/pattern)
提示占位符無直接支持placeholder 屬性
自動聚焦需JS代碼autofocus 屬性
<!-- HTML5 表單示例 -->
<input type="email" placeholder="輸入郵箱" required>
<input type="date" min="2020-01-01">
<input type="range" min="0" max="100">

六、API 革新對比

功能HTML4HTML5
本地存儲Cookie (4KB限制)localStorage/sessionStorage (5MB+)
地理位置Geolocation API
多線程Web Workers
實時通信輪詢WebSocket
離線應用Application Cache
拖放交互需復雜JS原生拖放 API

七、兼容性處理

<!-- 讓舊瀏覽器支持HTML5標簽 -->
<!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
<![endif]-->

八、代碼對比示例

<!-- HTML4 典型頁面結構 -->
<body><div id="header">...</div><div id="nav">...</div><div class="content"><div class="post">...</div></div><div id="sidebar">...</div><div id="footer">...</div>
</body><!-- HTML5 語義化結構 -->
<body><header>...</header><nav>...</nav><main><article>...</article></main><aside>...</aside><footer>...</footer>
</body>

核心區別總結表

特性HTML4 及之前HTML5
設計目標文檔標記語言應用開發平臺
文檔聲明冗長復雜<!DOCTYPE html>
語義結構依賴<div>+CSS類原生語義標簽
多媒體支持需Flash/插件原生<video>/<audio>
圖形能力僅靜態圖片<canvas>/SVG
數據存儲Cookie (受限)Web Storage/IndexedDB
設備交互Geolocation/Camera API
連接性短輪詢WebSocket/Server-Sent Events

通過 document.createElement('video') 檢測:
!!document.createElement('video').canPlayType 返回 true 即為支持HTML

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89563.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89563.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89563.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java實戰:實時聊天應用開發(附GitHub鏈接)

一、前置技術項目介紹&#xff1a; 項目為局域網溝通軟件&#xff0c;類似內網通&#xff0c;核心功能包括昵稱輸入、聊天界面展示在線人數&#xff08;實時更新&#xff09;、群聊&#xff0c;也可擴展私聊、登錄注冊、聊天記錄存儲等功能&#xff0c;結尾附GitHub鏈接。項目涉…

linux 的list_for_each_entry

linux的宏定義提高了代碼的簡潔性&#xff0c;但有時候的命名不夠完美。比如list_for_each_entry&#xff0c;看名字只知道是遍歷list&#xff0c;但一看里面的三個變量參數&#xff0c;有點懵逼。/*** list_for_each_entry - iterate over list of given type* pos: …

分布式面試點

目錄 1.分布式理論 為什么CAP不可兼得呢? 2.CAP對應的模型和應用 3.Base理論 4,有哪些分布式鎖的案例 5.分布式事務 6.Seata 分布式一致性算法 1. 準備階段&#xff08;Prepare Phase&#xff09; 2. 接受階段&#xff08;Accept Phase&#xff09; 3. 學習階段&…

Neo4j系列---【Linux離線安裝neo4j】

Linux離線安裝neo4j 1.官方安裝文檔 地址&#xff1a;https://neo4j.com/docs/operations-manual/current/installation/linux/tarball/ 2.如果瀏覽器無法訪問 修改neo4j.conf,開放所有ip訪問 # 允許所有IP地址訪問 server.default_listen_address0.0.0.0 3.創建開機自啟動服務…

SEO長尾關鍵詞核心實戰技巧提升排名

內容概要 本文聚焦于SEO長尾關鍵詞的核心實戰技巧&#xff0c;旨在幫助讀者精準鎖定目標用戶的搜索意圖&#xff0c;從而提升網站自然排名和獲取精準流量。文章將從基礎概念入手&#xff0c;系統解析如何挖掘高轉化率的長尾關鍵詞&#xff0c;優化內容結構以增強搜索可見度&…

當OT遇見IT:Apache IoTDB如何用“時序空間一體化“技術破解工業物聯網數據孤島困局?

目錄 一. 什么是時序數據庫&#xff1f; 二. 時序數據庫的選型要素 性能指標 架構能力 數據模型與查詢能力 安全與權限控制 部署與運維能力 三 Apache IoTDB 簡介及安裝使用&#xff1a; 安裝準備教程 檢查 Java 版本 下載與安裝 下載 IoTDB 解壓文件 配置環境變量 啟動…

一文講透HTML語義化標簽

文章目錄語義化標簽概述HTML標簽及其含義常見HTML5語義化標簽語義化標簽對搜索引擎&#xff08;SEO&#xff09;的影響提升搜索引擎排名增強可訪問性改善用戶體驗語義化標簽案例各標簽作用說明語義化標簽概述 HTML 語義化是指使用恰當的標簽來準確表達內容的結構和含義&#x…

Django 實戰:靜態文件與媒體文件從開發配置到生產部署

文章目錄一、靜態文件與媒體文件區別與聯系配置開發環境配置二、媒體文件實戰實戰場景定義模型定義序列化器定義視圖實戰效果三、生產部署說明收集靜態文件Nginx配置示例OpenResty配置示例一、靜態文件與媒體文件 區別與聯系 在 Django 項目中&#xff0c;靜態文件&#xff0…

Python自動化分析知網文獻:爬取、存儲與可視化

1. 引言 在當今的學術研究和大數據分析領域&#xff0c;高效獲取和分析學術文獻數據具有重要意義。中國知網&#xff08;CNKI&#xff09;作為國內最權威的學術資源平臺之一&#xff0c;包含了海量的期刊論文、會議論文和學位論文。然而&#xff0c;手動收集和分析這些數據不僅…

Python應用指南:使用PyKrige包實現ArcGIS的克里金插值法

先了解什么是克里金插值&#xff1f;克里金插值&#xff08;Kriging interpolation&#xff09;是一種基于統計學和空間相關性的高級空間插值方法&#xff0c;廣泛應用于地理信息系統&#xff08;GIS&#xff09;、地質勘探、環境科學、氣象學等領域。它由南非礦業工程師丹尼爾…

Redis原理之哨兵機制(Sentinel)

上篇文章&#xff1a; Redis原理之主從復制https://blog.csdn.net/sniper_fandc/article/details/149141103?fromshareblogdetail&sharetypeblogdetail&sharerId149141103&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 哨兵機制恢…

uniapp打包成 apk

1. 先把項目打包成 index.html 上傳到寶塔服務器,關聯到域名 2.然后再用hbuilder新建一個 基礎模板的 uniapp 3.再修改代碼,采用iframe方式打包 pages/index/index <template><web-view v-if="showWebView" :src="webViewSrc" @message=&qu…

RPG57.創建玩家拾取物品類一:創建可拾取物品類的基類

1。新建一個基類&#xff0c;用于玩家可拾取物品的父類然后// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Components/SphereComponent.h" #include "GameFramewo…

k8s之持久化存儲流程

K8s 中的 Pod 在掛載存儲卷時需經歷三個的階段&#xff1a;Provision/Delete&#xff08;創盤/刪盤&#xff09;、Attach/Detach&#xff08;掛接/摘除&#xff09;和 Mount/Unmount&#xff08;掛載/卸載&#xff09; Provisioning Volumes 時序流程詳解 一、流程圖 sequenc…

python學智能算法(二十四)|SVM-最優化幾何距離的理解

引言 前序學習過程中&#xff0c;已經對幾何距離的概念有了認知&#xff0c;學習鏈接為&#xff1a;幾何距離 這里先來回憶幾何距離δ的定義&#xff1a; δmin?i1...myi(w∥w∥?xib∥w∥)\delta \min_{i1...m}y_{i}(\frac{w}{\left \| w \right \|}\cdot x_{i}\frac{b}{\le…

創建游戲或互動體驗:從概念到實現的完整指南

Hi&#xff0c;我是布蘭妮甜 &#xff01;在數字時代&#xff0c;游戲和互動體驗已成為娛樂、教育和商業領域的重要組成部分。本文將帶你了解如何使用JavaScript創建引人入勝的游戲和互動體驗&#xff0c;從基礎概念到實際實現。 文章目錄一、游戲開發基礎1.1 游戲循環1.2 游戲…

SpringMVC + Tomcat10

1. Tomcat 10的servlet包路徑變了&#xff0c;javax -> jakarta 2. DispatcherServlet從Spring6 才開始使用jakarta.servlet.http.Servlet 3. Spring6 需要JDK 17 1. pom <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org…

Django `transaction.atomic()` 完整使用指南

目錄 #概述#基本用法#事務一致性保障機制#破壞一致性的常見場景#高級用法#最佳實踐#診斷與調試#附錄 概述 transaction.atomic() 是 Django 提供的數據庫事務管理工具&#xff0c;用于確保一系列數據庫操作要么全部成功提交&#xff0c;要么全部回滾&#xff0c;維護數據的一致…

UDP協議的端口161怎么檢測連通性

UDP 端口 161 (SNMP) 連通性檢測的專業指南 UDP 161 端口是 SNMP (Simple Network Management Protocol) 服務的標準端口。由于其無連接特性&#xff0c;檢測需要特殊方法。以下是全面的檢測方案&#xff1a; 一、專業檢測方法 1. 使用 SNMP 專用工具&#xff08;推薦&#xff…

進階數據結構:紅黑樹

嘿&#xff0c;各位技術潮人&#xff01;好久不見甚是想念。生活就像一場奇妙冒險&#xff0c;而編程就是那把超酷的萬能鑰匙。此刻&#xff0c;陽光灑在鍵盤上&#xff0c;靈感在指尖跳躍&#xff0c;讓我們拋開一切束縛&#xff0c;給平淡日子加點料&#xff0c;注入滿滿的pa…