文章 專題 學習 下載 問答 程式設計字典 遊戲 最近更新
登入
简体中文(ZH-CN) English(EN) 繁体中文(ZH-TW) 日本語(JA) 한국어(KO) Melayu(MS) Français(FR) Deutsch(DE)
  • 後端開發
  • 網頁前端
  • Web3
  • 常見問題
  • 手機遊戲教程
  • 資料庫
前端
HTML | CSS | JavaScript | Vue.js
後端
PHP | ThinkPHP | Laravel | MySQL | Redis
最新推薦
  • php8,我來也

    84669 人學習

原生基礎
HTML | CSS | HTML5 | CSS3 | JavaScript
框架開發
jQuery | Vue.js | React | AngularJS | Node.js | BootStrap | AJAX | Foundation
最新推薦
  • 30分鐘學會網站佈局

    152542 人學習

程式設計語言
PHP | Python | Go | Java | C | C++ | C# | VBSscript | Scala | Lua | Perl | Ruby | JSP | XML | ASP
框架/工具
ThinkPHP | Laravel | Servlet | Django | ASP.NET
基礎入門
MySQL | SQL Server
進階學習
MongoDB | Oracle | Redis | Memcached
最新推薦
  • 尚觀Oracle入門到精通視頻教程

    20005 人學習

原生開發
Android | iOS
多端開發
Swift | Flutter | uni-app | 小程式 | 其他
最新推薦
  • 你的第一行UNI-APP程式碼

    5487 人學習

  • Flutter 從頭到應用程式啟動

    7821 人學習

環境使用
Linux | Docker
工具使用
PhpStudy | Git | 其他工具
最新推薦
  • 兄弟連新版Linux視頻教程

    359900 人學習

UI設計
Axure | PS
最新推薦
  • AXURE 9影片教學(適用於產品經理互動產品設計UI)

    3350 人學習

  • 零基礎PS影片教學

    180660 人學習

  • 16天帶你入門UI視頻教程

    48569 人學習

  • PS技巧和切片技巧影片教學

    18603 人學習

類別庫分類
HTTP | TCP/IP | 基礎程式設計
最新推薦
  • 阿裡雲環境搭建以及項目上線視頻教程

    40936 人學習

  • 電腦網路概述-程式設計師必須掌握的基礎知識

    1549 人學習

  • 程式設計師必備教學——HTTP協定講解

    1183 人學習

  • Websocket影片教學

    32909 人學習

首頁> web前端> H5教程> 主體

html5常見的錯誤用法

王林
發布: 2021-01-13 10:47:53
轉載
2011 人瀏覽過

html5常見的錯誤用法

html5中常見的6中錯誤用法:

#一、不要使用section作為div的替代品

(學習影片分享:html影片教學)

人們在標籤使用中最常見到的錯誤之一就是隨意將HTML5的

等價於
——具體地說,就是直接用作替代品(用於樣式)。在XHTML或HTML4中,我們常看到這樣的程式碼:

My super duper page

Header content
Page content
Secondary content
Footer content
登入後複製

而現在在HTML5中,會是這樣:
請不要複製這些程式碼!這是錯誤的!

My super duper page

登入後複製

這樣使用並不正確:**

並不是樣式容器。 **section元素表示的是內容中用來幫助建構文件概要的語意部分。它應該包含一個頭部。如果你想找一個用來當作頁面容器的元素(就像HTML或XHTML的風格),那麼考慮如Kroc Camen所說,直接把樣式寫到body元素上吧。如果你還是需要額外的樣式容器,還是繼續使用div吧。
基於上述思想,以下是正確的使用HTML5和一些ARIA roles特性的例子(注意,根據你自己的設計,你也可能需要加入div)

My super duper page

登入後複製

如果你還是無法確定使用哪種元素,那麼我建議你參考HTML5 sectioning content element flowchart
二、只在需要的時候使用header和hgroup
寫不需要寫的標籤當然是毫無意義的。不幸的是,我經常看到header和hgroup被無意義的濫用。你可以閱讀兩篇關於header和hgroup元素的文章做一個詳細的了解,其中內容我簡單總結如下:

header元素表示的是一組介紹性或者導航性質的輔助文字,經常用作section的頭部當頭部有多層結構時,例如有子頭部,副標題,各種標識文字等,使用hgroup將h1-h6元素組合起來作為section的頭部
header的濫用

由於header可以在一個文件中使用多次,可能使得這樣程式碼風格受到歡迎:
請不要複製這段程式碼!這裡並不需要header –>

My best blog post

登入後複製

如果你的header元素只包含一個頭部元素,那麼丟棄header元素吧。既然article元素已經保證了頭部會出現在文件摘要中,而header又不能包含多個元素(如上文所定義的),那麼為什麼要寫多餘的程式碼。簡單點寫成這樣就行了:

My best blog post

登入後複製

的錯誤使用
在headers這個主題上,我也經常看到hgroup的錯誤使用。有時候不應該同時使用hgroup和header:

如果只有一個子頭部如果hgroup自己就能工作的很好。 。 。這不廢話麼
第一個問題一般是這樣的:
請不要複製這段程式碼!此處不需要hgroup –>

My best blog post

by Rich Clark

登入後複製

此範例中,直接拿掉hgroup,讓heading果奔吧。

My best blog post

by Rich Clark

登入後複製

第二個問題是另一個不必要的例子:
請不要複製這段程式碼!這裡不需要header –>

My company

Established 1893

登入後複製

如果header唯一的子元素是hgroup,那還要header乾神馬?如果header中沒有其他的元素(例如多個hgroup),還是直接拿掉header吧。 (web前端學習交流群:328058344 禁止閒聊,非喜勿進!)

My company

Established 1893

登入後複製

三、不要把所有列表式的鏈接放在nav裡

隨著HTML5引入了30個新元素(截止到原文發佈時),我們在建構語意化和結構化的標籤時的選擇也變得有些不慎重。也就是說,我們不應該濫用超語意化的元素。不幸的是,nav就是這樣一個被濫用的例子。 nav元素的規格描述如下:
nav元素表示頁面中連結到其他頁面或本頁面其他部分的區塊;包含導航連結的區塊。
注意:不是所有頁面上的連結都需要放在nav元素中-這個元素本意是用作主要的導覽區塊。舉個具體的例子,在footer中經常會有眾多的鏈接,比如服 務條款,主頁,版權聲明頁等等。 footer元素本身就足以應付這些情況,雖然nav元素也可以用在這裡,但通常我們認為是不必要的。
關鍵的字詞是「主要的」導航。當然我們可以互相噴上一整天什麼叫做「主要的」。而我個人是這樣定義的:

  • 主要的導航

  • 在站內搜尋

  • ##二級導航(略有爭議)

  • 頁內導航(例如很長的文章)

  • 既然沒有絕對的對錯,所以根據一個非正式投票以及我自己的解釋,以下的情況,不管你放不放,我反正不放在

  • 分頁控制

  • 社交連結(雖然有些社交連結也是主要導航,例如「關於」「收藏」)

  • 部落格文章的標籤

  • 博客文章的分類

  • 三級導航

  • 过长的footer
    如果你不确定是否要将一系列的链接放在nav中,问你自己:“它是主要的导航吗?”为了帮助你回答这个问题,考虑以下首要原则:

  • 如果使用section和hx也同样合适,那么不要用nav — Hixie on IRC
    为了方便访问,你会在某个“快捷跳转”中给这个nav标签加一个链接吗?

  • 如果这些问题的答案是“不”,那就跟

四、figure元素的常见错误

figure以及figcaption的正确使用,确实是难以驾驭。让我们来看看一些常见的错误,
不是所有的图片都是figure
上文中,我曾告诉各位不要写不必要的代码。这个错误也是同样的道理。我看到很多网站把所有的图片都写作figure。看在图片的份上请不要给它加额外的标签了。你只是让你自己蛋疼,而并不能使你的页面内容更清晰。
规范中将figure描述为“一些流动的内容,有时候会有包含于自身的标题说明。一般在文档流中会作为独立的单元引用。”这正是figure的美妙之处——它可以从主内容页移动到sidebar中,而不影响文档流。
这些问题也包含在之前提到的HTML5 element flowchart中。
如果纯粹只是为了呈现的图,也不在文档其他地方引用,那就绝对不是

。其他视情况而定,但一开始可以问自己:“这个图片是否必须和上下文有关?”如果不是,那可能也不是(也许是个)。继续:“我可以把它移动到附录中吗?”如果两个问题都符合,则它可能是 。
Logo并不是figure
进一步的说,logo也不适用于figure。下面是我常见的一些代码片段:

![My company](/img/mylogo.png)
My company name

登入後複製
![My company](/img/mylogo.png)
登入後複製

另一个常见的关于figure的误解是它只被图片使用。figure可以是视频,音频,图表,一段引用文字,表格,一段代码,一段散文,以及任何它们或者其他的组合。不要把figure局限于图片。web标准的职责是精确的用标签描述内容。

五、不要使用不必要的type属性

这是个常见的问题,但并不是一个错误,我认为我们应该通过最佳实践来避免这种风格。
在HTML5中,script和style元素不再需要type属性。然而这些很可能会被你的CMS自动加上,所以要移除也不是那么的轻松。但如果你是手工编码或者你完全可以控制你的模板的话,那真的没有什么理由再去包含type属性。所有的浏览器都认为脚本是javascript而样式是css样式,你没必要再多此一举了。

登入後複製

其实只需要这样写:

登入後複製

甚至指定字符集的代码都可以省略掉。Mark Pilgrim在Dive into HTML5的语义化一章中作出了解释。

六、form属性的错误使用

HTML5引入了一些form的新属性,以下是一些使用上的注意事项:
布尔属性
一些多媒体元素和其他元素也具有布尔属性。这里所说的规则也同样适用。
有一些新的form属性是布尔型的,意味着它们只要出现在标签中,就保证了相应的行为已经设置。这些属性包括:

  • autofocus

  • autocomplete

  • required

坦白的说,我很少看到这样的。以required为例,常见的是下面这种:

登入後複製

严格来说,这并没有大碍。浏览器的HTML解析器只要看到required属性出现在标签中,那么它的功能就会被应用。但是如果你反过来写equired=”false”呢?

登入後複製

解析器仍然会将required属性视为有效并执行相应的行为,尽管你试着告诉它不要去执行了。这显然不是你想要的。
有三种有效的方式去使用布尔属性。(后两种只在xthml中有效)

  • required

  • required=””

  • required=”required”

上述例子的正确写法应该是:

登入後複製

相关推荐:html5教程

以上是html5常見的錯誤用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
html5
來源:juejin.im
上一篇:什麼是h5頁面製作 下一篇:html5如何產生驗證碼
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
  • XT.COM交易所官網下載位址分享
    2024-08-16 18:50:01
  • XT.COM交易所能在中國用嗎? XT.COM交易所中國怎麼用?
    2024-08-16 18:49:01
  • XT.COM交易所pro交易所怎麼註冊下載教學課程
    2024-08-16 18:48:02
  • Akash (AKT):基於區塊鏈的去中心化雲端運算市場
    2024-08-16 18:47:15
  • 有毒的 Laravel 社區如何摧毀了我對程式設計的熱情。
    2024-08-16 18:42:45
  • xAI 在 上發布了 Grok-2 和 Grok-2 mini beta AI LLM企業 API 將於本月稍後推出
    2024-08-16 18:42:32
  • 鸣潮回归奖励有什么
    2024-08-16 18:39:16
  • Rollblock: The DeFi Casino That Leverages Blockchain to Ensure Transparent and Easily Traceable Transactions
    2024-08-16 18:39:15
  • How to Check if a Key Exists in JavaScript
    2024-08-16 18:39:06
  • 微软为 VMWare、Hyper
    2024-08-16 18:36:46
最新問題
如何使用Javascript設定HTML5的required屬性? 我正在嘗試在Javascript中將text輸入框標記為必需。
來自於 2023-10-13 08:52:25
0
2
317
無法取得滑鼠準確座標的問題:在調整頁面大小時使用HTML5畫布 我想從前端專家那裡創建這個像素效果。雖然我能夠在全螢幕畫布上實現整個像素效果:constcanvas=getElementById('canvas');canvas.height=...
來自於 2023-09-12 12:20:33
0
1
280
使用Base64編碼的HTML5視訊M3U8 我想在HTML5的Video標籤中加入一個base64編碼的M3U8文件,我該怎麼做
來自於 2023-09-09 23:07:18
0
1
247
vue.js / bootstrap:未呼叫 onclick 事件方法,錯誤'找不到變數:updateDocument” 我是前端開發新手,但對HTML5、CSS和Javascript有基本了解。我創建了一個vue.js專案並添加了bootstrap和axios。我的應用程式會載入數據並顯示它們。但是...
來自於 2023-09-09 20:06:48
0
1
362
XHTML中移除影像標籤中的閉合斜線'/' 我有一個儲存圖像的字串txt1。它的值是XHTML格式,即元素已關閉:。但我需要刪除該關閉斜杠,因此它可以是像HTML5中一樣。有沒有辦法做到這一點。
來自於 2023-09-06 12:15:38
0
1
240
相關專題
更多>
  • html5動畫製作有哪些製作方法html5動畫製作有哪些製作方法
  • HTML與HTML5的差別HTML與HTML5的差別
  • android是什麼系統android是什麼系統
  • 4g變成2g是怎麼回事4g變成2g是怎麼回事
  • wifi訊號放大器有用嗎wifi訊號放大器有用嗎
  • gsm加密演算法有哪些gsm加密演算法有哪些
  • 數據分析的方法數據分析的方法
  • 常用公共dns大全常用公共dns大全
熱門推薦
  • h5是什麼
  • 不懂程式碼怎麼製作h5頁? H5頁面製作平台推薦
  • html5的新特性有哪些
  • 什麼是h5頁面製作
  • h5和小程式有什麼差別
熱門教學
更多>
相關教學
熱門推薦
最新課程
  • 野秀堂HTML5+CSS3影片教學
    野秀堂HTML5+CSS3影片教學
    8577
  • HTML5基礎精講影片教學
    HTML5基礎精講影片教學
    24122
  • HTML5入門基礎影片教學
    HTML5入門基礎影片教學
    35986
  • HTML5新功能基礎影片教學
    HTML5新功能基礎影片教學
    26910
  • 最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)
    最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程)
    1394680次學習
  • JAVA 初級入門影片教學
    JAVA 初級入門影片教學
    2347115次學習
  • 小甲魚零基礎入門學習Python影片教學
    小甲魚零基礎入門學習Python影片教學
    493049次學習
  • Web前端開發極速入門
    Web前端開發極速入門
    213403次學習
  • 零基礎精通 PS 影片教學
    零基礎精通 PS 影片教學
    842462次學習
  • 【web前端】Node.js快速入門
    【web前端】Node.js快速入門
    3072次學習
  • 國外Web開發全端課程全集
    國外Web開發全端課程全集
    2480次學習
  • Go語言實戰之 GraphQL
    Go語言實戰之 GraphQL
    1958次學習
  • 550W粉絲大佬手把手從零學JavaScript
    550W粉絲大佬手把手從零學JavaScript
    464次學習
  • python大神Mosh,零基礎小白6小時完全入門
    python大神Mosh,零基礎小白6小時完全入門
    10687次學習
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
  • [表單按鈕] jQuery企業留言表單聯絡程式碼
  • [播放器特效] HTML5 MP3音樂盒播放特效
  • [選單導航] HTML5酷炫粒子動畫導覽選單特效
  • [表單按鈕] jQuery可視化表單拖曳編輯程式碼
  • [播放器特效] VUE.JS仿酷狗音樂播放器代碼
  • [html5特效] 經典html5推箱子小遊戲
  • [圖片特效] jQuery滾動添加或減少圖片特效
  • [相簿特效] CSS3個人相簿封面懸停放大特效
  • [前端模板] 家居裝潢清潔維修服務公司網站模板
  • [前端模板] 清新配色個人求職履歷引導頁模板
  • [前端模板] 設計師創意求職履歷網頁模板
  • [前端模板] 現代工程建築公司網站模板
  • [前端模板] 教育服務機構響應式HTML5模板
  • [前端模板] 網上電子書店商城網站模板
  • [前端模板] IT技術解決互聯網公司網站模板
  • [前端模板] 紫色風格外匯交易服務網站模板
  • [PNG素材] 可愛的夏天元素向量素材(EPS+PNG)
  • [PNG素材] 四個紅色的 2023 畢業徽章的向量素材(AI+EPS+PNG)
  • [banner圖] 唱歌的小鳥和裝滿花朵的推車設計春天banner向量素材(AI+EPS)
  • [PNG素材] 金色的畢業帽向量素材(EPS+PNG)
  • [PNG素材] 黑白風格的山脈圖示向量素材(EPS+PNG)
  • [PNG素材] 不同顏色披風和不同姿勢的超級英雄剪影向量素材(EPS+PNG)
  • [banner圖] 扁平風格的植樹節banner向量素材(AI+EPS)
  • [PNG素材] 九種漫畫風格的爆炸聊天氣泡向量素材(EPS+PNG)
  • [前端模板] 家居裝潢清潔維修服務公司網站模板
  • [前端模板] 清新配色個人求職履歷引導頁模板
  • [前端模板] 設計師創意求職履歷網頁模板
  • [前端模板] 現代工程建築公司網站模板
  • [前端模板] 教育服務機構響應式HTML5模板
  • [前端模板] 網上電子書店商城網站模板
  • [前端模板] IT技術解決互聯網公司網站模板
  • [前端模板] 紫色風格外匯交易服務網站模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!