神
  • 首页
  • 特产
    • 肉类
    • 药材
    • 补品
    • 水果
    • 蔬菜
    • 食品
  • 其他
    • 编程
    • 开奖
    • 文章
  • 下载
  • 游戏
  • 全部源码
  • 微信源码
    • 微信功能模块
    • 小程序源码
  • 其他源码
    • 资源共享
    • PPT免费模板
  • 网站源码
    • 金融/商城
    • 行业门户
    • 企业网站
    • 休闲娱乐
    • 工具包
    • thinkphp
    • php源码
    • Java/JavaScript
    • 帝国CMS
  • 网站插件
    • jQuery/Css特效
  • 网站模板
    • Wordpress主题
    • Discuz!模板
    • 其他模板
    • dede织梦模板
  • 视频教程
    • python
    • Mycat分库分表
    • 007系列电影
    • 电视剧
    • 电影系列
    • 演唱会
    • Linux视频
    • 数据库教程
    • 编程视频教程

您现在的位置是:网站首页> 编程资料编程资料

如何避免常见的6种HTML5错误用法html5各种页面切换效果和模态对话框用法总结HTML5中drawImage用法分析HTML5 embed标签定义和用法详解HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常html5基础标签(html5视频标签 html5新标签用法)html5跨域通讯之postMessage的用法总结Html5新标签解释及用法

2021-08-29 1582人已围观

简介 本文是小编给大家收藏整理的关于常见的6种HTML5错误用法,非常不错,具有参考借鉴价值,需要的朋友参考下吧

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

人们在标签使用中最常见到的错误之一就是随意将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

二、只在需要的时候使用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吧。

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)

没什么好说的了。这就是很普通的错误。我们可以为logo是否应该是H1标签而互相喷到牛都放完回家了,但这里不是我们讨论的焦点。真正的问题在于figure元素的滥用。figure只应该被引用在文档中,或者被section元素围绕。我想你的logo并不太可能以这样的方式引用吧。很简单,请勿使用figure。你只需要这样做:

My company name

Figure也不仅仅只是图片

另一个常见的关于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”

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

总结

以上所述是小编给大家介绍的如何避免常见的6种HTML5错误用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

提示: 本文由神整理自网络,如有侵权请联系本站删除!
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!

上一篇:HTML5添加禁止缩放功能解决HTML5手机端页面缩放的问题HTML5实现可缩放时钟代码可使任何HTML元素动态缩放适合父元素的js插件scalable.jsHtml5之svg可缩放矢量图形_动力节点Java学院整理HTML5全屏响应式缩放切换幻灯片代码用HTML5实现鼠标滚轮事件放大缩小图片的功能HTML5基于SVG实现可拖拽和缩放的世界地图效果源码HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述

下一篇:浅谈HTML5 FileReader分布读取文件以及其方法简介HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5的一个显示电池状态的API简介HTML5是什么 HTML5是什么意思 HTML5简介HTML5安全介绍之内容安全策略(CSP)简介HTML5的标签的代码的简单介绍 HTML5标签的简介html5新增的定时器requestAnimationFrame实现进度条功能HTML5新增加的功能详解iPhone5和iOS6上HTML5开发的新增功能html5简介及新增功能介绍

相关内容

  • HTML5添加禁止缩放功能解决HTML5手机端页面缩放的问题HTML5实现可缩放时钟代码可使任何HTML元素动态缩放适合父元素的js插件scalable.jsHtml5之svg可缩放矢量图形_动力节点Java学院整理HTML5全屏响应式缩放切换幻灯片代码用HTML5实现鼠标滚轮事件放大缩小图片的功能HTML5基于SVG实现可拖拽和缩放的世界地图效果源码HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
  • 基于HTML5 Canvas的3D动态Chart图表的示例html5中canvas图表实现柱状图的示例canvas如何绘制钟表的方法
  • HTML5移动端手机网站开发流程HTML5播放实现rtmp流直播html5用video标签流式加载的实现基于 HTML5 WebGL 实现的医疗物流系统Html5 实现微信分享及自定义内容的流程HTML5 canvas 瀑布流文字效果的示例代码HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影HTML5梦幻之旅——炫丽的流星雨效果实现过程HTML5 离线应用之打造零请求、无流量网站的解决方法Html5之webcoekt播放JPEG图片流
  • 基于html5绘制圆形多角图案html5实现的鼠标悬停显示气泡文字框提示效果源码html5需遵循的6个设计原则HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果HTML5标签嵌套规则详解【必看】HTML 5.1来了 9月份正式发布 更新内容预览HTML5本地数据库基础操作详解HTML5移动端手机网站开发流程js+html5制作简易的时钟表效果源码HTML5+SVG制作电子鼓打击音乐特效源码HTML5+Canvas实现可视化mp3音乐播放器特效源码
  • 如何利用input事件来监听移动端的输入HTML5移动端开发中的Viewport标签及相关CSS用法解析整理HTML5移动端开发的常用触摸事件html5 canvas实现的酷炫页面预加载动画图标效果源码HTML5+jQuery实现mobile(手机端)流量统计图表特效源码(环形)HTML5 canvas实现文字雨特效源码html5基于canvas实现的中国地图各省坐标指向北京效果源码html5 canvas实现掉落的雨点动画效果源码HTML5+CSS3图片堆叠转瀑布流布局特效源码
  • HTML5移动端开发中的Viewport标签及相关CSS用法解析移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法 HTML5移动端手机网站开发流程整理HTML5移动端开发的常用触摸事件HTML5移动端开发遇见的东西
  • 整理HTML5移动端开发的常用触摸事件html5触摸事件判断滑动方向的实现HTML5触摸事件实现移动端简易进度条的实现方法HTML5触摸事件演化tap事件介绍HTML5触摸事件(touchstart、touchmove和touchend)的实现
  • 让IE下支持Html5的placeholder属性的插件HTML5 placeholder属性详解ie placeholder属性的兼容性问题解决方法HTML 5 input placeholder 属性如何完美兼任ieHTML5 placeholder(空白提示)属性介绍限制html文本框input只能输入数字和小数点使一个input文本框随其中内容而变化长度的方法使用placeholder属性设置input文本框的提示信息
  • html5摇一摇代码优化包括DeviceMotionEvent等等HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例Html5+JS实现手机摇一摇功能html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等用HTML5实现手机摇一摇的功能的教程基于html5 DeviceOrientation 实现微信摇一摇功能
  • Html5 FileReader实现即时上传图片功能实例代码HTML5 文件域+FileReader 分段读取文件并上传到服务器HTML5中FileReader接口使用方法实例详解浅谈HTML5 FileReader分布读取文件以及其方法简介

点击排行

  • 唯唯绸否猜打一最佳正确生肖[最佳成语最佳释义解释答]
  • TYSB手游公测版下载-TYSB官方唯一正版手游下载 _安卓网
  • 士绅名流代表是指什么生肖数字,成语释义解释落实
  • 士绅名流代表什么生肖,成语释义解释落实
  • 洗牌猫下载-洗牌猫(卡牌对战)Shuffle Cats v0.14.8_安卓网
  • 丛林动物宝宝发型沙龙游戏-丛林动物宝宝发型沙龙(休闲装扮)Baby Jungle Animal Hair Salon v1.0.10_安卓网
  • 士绅名流是指代表什么生肖、释义成语解释落实
  • 超人跑跑游戏下载-超人跑跑(横版动漫酷跑) v1.0.0_安卓网

本栏推荐

  • pandas获取对应的行或者列方式_python_

  • pandas如何获取某个数据的行号_python_

  • python进程池Pool中apply方法与apply_async方法的区别_python_

  • python array中关于[a,b,c]的使用方式_python_

  • Python进程multiprocessing.Process()的使用解读_python_

  • selenium常用API的使用过程记录(包括自动登录)_python_

  • Python使用multiprocessing如何实现多进程_python_

猜你喜欢

  • pandas获取对应的行或者列方式_python_
  • pandas如何获取某个数据的行号_python_
  • python进程池Pool中apply方法与apply_async方法的区别_python_
  • python array中关于[a,b,c]的使用方式_python_
  • Python进程multiprocessing.Process()的使用解读_python_
  • selenium常用API的使用过程记录(包括自动登录)_python_
  • Python使用multiprocessing如何实现多进程_python_
  • 我的微信

关于我们

神代码(http://dindongji.net )是IT资源下载与IT技能学习平台。js代码网收集整理了最新IT开发视频教程、网站模板、网站源码、js特效(插件)等,充分满足IT用户对不同类型资源的下载需求。代码网拒绝滥竽充数,我们只提供精品资源! 站长QQ:512953070 本站会员:605

© 技术支持:神代码(http://dindongji.net) blog.sixgod.net blog.haifeisi.net blog.flerken.cn blog.bieha.cn blog.miuti.cn blog.dk028.com blog.scflcp.cn blog.bzbl.cn blog.mlft.cn blog.7zz.net blog.liuyifei.net blog.58t.net blog.yamiao.net blog.caclrc.cn blog.rgbbs.cn blog.heiapp.net blog.zhfjx.cn blog.sshfy.cn blog.sxdgc.cn blog.28city.cn blog.etcb.cn blog.abdayah.cn blog.ddbdzs.cn blog.hyflex.cn blog.11855.cn blog.11566.cn blog.11355.cn blog.62622.cn blog.cbwq.cn blog.zrqm.cn blog.rlfm.cn blog.pbtb.cn blog.knlz.cn blog.rhwf.cn blog.dxfp.cn blog.rptb.cn blog.nzjg.cn blog.ygnl.cn blog.rxbg.cn blog.rfbc.cn blog.rwbs.cn blog.music.liuyifei.net blog.img.liuyifei.net blog.drnu.cn blog.wyim.cn blog.dvtg.cn blog.fvhc.cn blog.lble.cn blog.mvhu.cn blog.uesese.cn blog.ikuns.cc blog.02613.cn blog.lymzi.cn blog.ktoa.cn blog.73216.cn blog.crtwd.cn blog.szmdx.cn blog.kylkc.cn blog.dztmd.cn blog.pmhlw.cn blog.gfxtk.cn blog.tzpc.cn blog.jbqm.cn blog.sh3.cn blog.7sh.cn blog.95596.net blog.95540.net blog.12383.net blog.12363.net blog.boboji.net blog.r515.cn blog.g2050.cn blog.bbc888.com blog.ha123.net.cn blog.dindongji.com blog.dindongji.cn blog.dindongji.net blog.touyin.net blog.ludan.net blog.xshell.net blog.zdbcwf.com

-六神源码网