你造吗?HTML 不能这么写

作者: 前端项目部 | 来源:发表于2019-07-03 16:14 被阅读8次

目录

a标签不可以嵌套交互式元素

块级元素可以包含内联元素和某些块级元素,内联元素不能包含块级元素,只能包含内联元素

p标签不能包含块级元素

不可包含块级元素的标签

li标签可以包含div以及ul,ul的子元素应该只有li

元素并排(块级和块级并列,内联和内联并列)

字符实体引发的错误

错误的使用 role 属性

行内元素强制转成块级元素,块级元素强制转成行内元素

使用 disabled=false

页面中同一个ID出现两次及以上

内嵌的 <script> 标签含有 src 属性

标签错误嵌套

语法错误

* a标签不可以嵌套交互式元素

包括但不限于

a, audio(如果设置了controls属性), button, details, embed, iframe, img(如果设置了usemap属性), input(如果type属性不为hidden状态), keygen, label, menu(如果type属性为toolbar状态),object(如果设置了usemap属性), select, textarea, video(如果设置了controls属性))

下面这些写法浏览器是不能够正常解析的

有的虽然解析正常,但却达不到预想的目的

语义错误

页面可能正常解析,但不符合语义。这是因为浏览器自带容错机制,对于不规范的写法也能够正确的解析,各浏览器的容错机制不同,所以尽量按规范来写。

* 块级元素可以包含内联元素和某些块级元素,内联元素不能包含块级元素,只能包含内联元素

* p标签不能包含块级元素

* 如下的标签不可包含块级元素

h1、h2、h3、h4、h5、h6、p

* li标签可以包含div以及ul(这个是不是很牛,可以包含父级元素)

* 元素并排(块级和块级并列,内联和内联并列)

字符实体引发的错误

有些字符是 html 预留的,不能够直接书写,但是可以通过字符实体来显示。

如:

空格 - &nbsp;

大于符号 - &gt;

& - &amp;

......

但如果稍不注意,在如下的情况下就会引发错误:

<a href="?art&copy">Art and Copy</a>

这里的 &copy 会被转换为 ©️符号,从而得不到预期的效果

正确的做法是所有的保留字符全部用实体字符替代。

<a href="?art&amp;copy">Art and Copy</a>

错误的使用 role 属性

role 属性使用来增强标签的语义的,但如果使用不当,反而得到负面的效果,所以使用的时候一定要注意。

<input type=radio role=progressbar>

这里的是一个 input标签,但是却通过 role 指定了进度条的语义,但是 input是不能够作为进度条的,所以这里反而模糊了语义。

行内元素强制转成块级元素,块级元素强制转成行内元素

如下做法是不推荐的:

给 <div> 标签设置 inline-block 属性

给 <span>标签设置 block 属性

使用 disabled=false

disabled 属性是用来禁用标签的,一般用于 input 、button等,表示不可点击。

正常的用法是:

<input type="text" name="lname"  />

<input type="text" name="lname" disabled="disabled" />

错误的写法:

<input type="text" name="name" disabled="false" />

这里虽然 disabled="false" 语义也代表不禁用,但实际上是被禁用的。

页面中同一个 ID 出现两次及更多

ID重复会引起元素选择错误,从而引发 Javascript 隐藏问题,因此需要注意。

注:每一个ID会在浏览器中生成一个同名的全局变量

内嵌的 <script> 标签含有 src 属性

当 <script> 标签包含 src 属性时,其包含的 Javascript 脚本是不会执行的。

自己整理了一份2019最全面前端学习资料,从最基础的HTML+CSS+JS到HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴,需要可以私聊我哟,也有我的前端开发qun,【四八四】【七五七】【七六零】,对于学习web前端有任何问题(学习方法,学习效率,如何就业)都可以问我,最后可以点一波关注哟!

相关文章

  • 你造吗?HTML 不能这么写

    目录 a标签不可以嵌套交互式元素 块级元素可以包含内联元素和某些块级元素,内联元素不能包含块级元素,只能包含内联元...

  • 漫画|关于力量

    阿觉说,你造为什么我这么有力量吗?

  • 简历不能这么投,你造么?

    找工作好难啊! 投简历没人鸟啊/(ㄒoㄒ)/~~ ... 你知道吗? “投简历”的这个“投”字,有很多讲究的! 我...

  • 这么谈“面试”,你造吗?

    又是一年招聘季,校招热,跳槽频。 即将进入职场的大学生开始进入面试季,有充满未知的好奇兴奋,又或者满腹担忧?不安分...

  • 喝酒这么有趣,你造吗?

    前两日因为因为买的几瓶啤酒,被好基友不解问到有什么好喝的,苦了吧唧的,既对身体不好还费钱。 我睁大眼睛说,“你怎...

  • 残桥与斜塔

    老人们说,这桥是神仙造的。会吗,这么小的石桥会是神仙造的? 老人说的煞有其事,没错,这桥真是神仙造的。不信,你去桥...

  • 肠道这么累,你造的吗?

    2017.10.31仙谷健康咨询中心 肠道堪称身体“最劳累的器官”——每天不停地消化、吸收食物,以提供足够的养分,...

  • 【晨读感悟】你这么优秀,你造吗?

    今天的晨读,只看到了两个点,一是自己找自己的优势,二是通过他人找自己的优势。 话说,看了小伙伴们的晨读总感觉他们太...

  • 这个点,你还在熬夜么

    你最近熬夜了吗? 你熬夜的原因是什么呢? 你对熬夜的危害有什么了解吗? 熬夜有这么多危害,你造吗? 当“熬夜”频频...

  • 孩子根本不听家长的话怎么办?教育专家:用有效沟通方法才行

    为什么会做这么慢? 这么久怎么才写这么一点儿? 你就不能认真写字吗? 讲了这么多次为什么还记不住? 怎么这么笨?就...

网友评论

    本文标题:你造吗?HTML 不能这么写

    本文链接:https://www.haomeiwen.com/subject/dscchctx.html