搜索

查看: 3118|回复: 11

[CSS/HTML] 不要在HTML中滥用div

[复制链接]
发表于 2023-5-4 16:50:34 | 显示全部楼层 |阅读模式
Editor 2023-5-4 16:50:34 3118 11 看全部
目录
  • 概述
  • 什么是语义化
  • 标题元素
  • 按钮
  • 非语义化元素
  • 总结
    概述
    做前端开发的同学都知道,一个网页的基本组成部分是 HTML,JavaScript 和 CSS。开发人员通常更关注 JavaScript 和 CSS ,实践着各种语言规范和设计模式。对于 HTML 的关注度则明显偏少,只要能做出设计师画的界面就万事大吉了,不怎么去关心 HTML 是不是规范合理。于是下面的情况随处可见:

       
  • 按钮用的是可点击的而不是 元素
       
  • 标题用的是 而不是标题元素 (, 等等)
       
  • 相应的文本标签用的是 而不是
       
  • 输入框也用绑定了键盘事件的,而不是

    看到没?一招 走天下!这样有没有问题?好像也没什么大问题,毕竟页面看起来符合设计,也能正常交互。但是你想过没有,如果能解决一切,为什么还需要其余几十上百种标签呢?这就要说到 HTML 的语义化了。

    什么是语义化
    语义化就是说,HTML 元素具有相应的含义。它用于描述元素的内容或者跟其他元素的关系。在 HTML 里,除了和,基本上都是语义化的元素。
    标签名的表义程度也是不一样的,比如比对内容的描述就更模糊。也是语义化的,因为它表明内容应该从属于一个组。而不仅表示它的内容从属于一个组,还是一篇文章。
    为了进一步说明语义化的重要性,下面用标题和按钮元素来举例。

    标题元素
    是页面的标题,加上下方的 就形成了页面的层级结构。


    当你的 HTML 里全是 div,那你就要小心了

    什么是语义化

    标题元素
    在很多富文本编辑器中,使用合适的标题结构,可以自动生成内容目录。比如本文的目录结构就是这样:

    202158142439908.png

    202158142439908.png


    可以看到,HTML 本身就传达了整篇文章的结构信息。相反,如果全部都用,就变成这样了:

       
  • : 当你的 HTML 里全是 div,那你就要小心了
       
  • : 什么是语义化
       
  • : 标题元素
       
  • : 按钮
       
  • : 非语义化元素
       
  • : 总结

    由于不附带任何含义,因此它就是扁平的结构。只要使用正确的 HTML,DOM 就会变得清晰和结构化。

    按钮
    按钮的作用是提交表单或者改变某个元素的状态。从定义上看,按钮具备以下特征:

       
  • 可获得焦点
       
  • 可通过敲击空格键或者回车键激活
       
  • 可通过鼠标点击激活

    当你用绑定点击事件来模拟按钮时,你就没办法用上天然自带的那些语义化的交互特征。你还需要手动实现这些功能:

       
  • focus 状态
       
  • 键盘交互
       
  • 鼠标交互

    不止如此,当屏幕阅读器碰到提交这个元素,它会识别出语义,告诉用户这是个提交按钮。如果只是个,阅读器就不会认为它是个按钮。
    当我们使用语义化的 HTML 元素后,就给内容赋予了含义,内容也就有了生命。

    非语义化元素
    前面提到过,和是非语义化元素。没有给内容附加任何含义,它只是个。当然,这么说也不完全准确,因为和之间还是有一点点区别的:

       
  • 是块级元素
       
  • 是行内元素,应该放在其他元素里面,比如Inline elements

    如果实在找不到对应的 HTML 元素来表示内容,那就可以用或者。既然设计了和,自然有它们的用武之地。毕竟,并不是每一个 HTML 元素都需要额外的语义。
    总体原则是,尽量优先使用对应的语义化元素表示内容。退而求其次,使用含义没那么明确的标签。最后才考虑用和。

    总结
    虽然使用语义化的 HTML 元素并不会给你的项目带来明显的收益,但我还是建议你这么做。至少,语义化的 HTML 页面能带来更好的 SEO 排名、对屏幕阅读器更友好、代码可读性更高。如果你是个有追求的 Coder,相信你会认同我的看法。
    以上就是不要在HTML中滥用div的详细内容,更多关于不要在HTML中滥用div的资料请关注知鸟论坛其它相关文章!
  • 回复

    使用道具 举报

    发表于 2023-6-28 22:53:54 | 显示全部楼层
    伊索谗言 2023-6-28 22:53:54 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    回复

    使用道具 举报

    发表于 2023-6-29 00:55:44 | 显示全部楼层
    123456833 2023-6-29 00:55:44 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-6-29 01:32:41 | 显示全部楼层
    惜颜705 2023-6-29 01:32:41 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    回复

    使用道具 举报

    发表于 2023-6-29 02:44:38 | 显示全部楼层
    幸福341 2023-6-29 02:44:38 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-29 14:13:08 | 显示全部楼层
    462710480 2023-6-29 14:13:08 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-6-29 20:50:19 | 显示全部楼层
    心随674 2023-6-29 20:50:19 看全部
    楼主,大恩不言谢了!知鸟论坛是最棒的!
    回复

    使用道具 举报

    发表于 2023-6-30 01:18:24 | 显示全部楼层
    永远就三年疗 2023-6-30 01:18:24 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-30 09:14:51 | 显示全部楼层
    我的苦恼冉 2023-6-30 09:14:51 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-30 12:09:26 | 显示全部楼层
    向往草原403 2023-6-30 12:09:26 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    • 您可能感兴趣
    点击右侧快捷回复 【请勿灌水】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| SiteMap| 小黑屋| 知鸟论坛
    联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表