• 请不要在回答技术问题时复制粘贴 AI 生成的内容
VDimos
V2EX  ›  程序员

各位前端 er 写 html 的时候用语义化标签吗?

  •  
  •   VDimos · Sep 26, 2019 via Android · 7679 views
    This topic created in 2597 days ago, the information mentioned may be changed or developed.
    如题,w3c 倒是给出了不少参考语义化标签,但我每次都是本能性的 div 一把梭,除了少数几个功能化标签。
    比如 header,我本能性的就是 div.header 这种类型。
    根据我的观察,我发现国内绝大部分网站似乎都喜欢用 div,那么问题来了,这谁先带的头啊?
    48 replies  •  2019-09-29 16:24:32 +08:00
    ayase252
    ayase252
    Sep 26, 2019
    1
    div 不是历史遗留吗?
    VDimos
    VDimos
    OP
    Sep 26, 2019 via Android
    2
    @ayase252 感觉这个改不回来了😂
    sker101
    sker101
    Sep 26, 2019 via iPhone
    3
    新项目用 旧项目除非有目标用户需求 否则谁管
    molvqingtai
    molvqingtai
    Sep 26, 2019 via Android
    4
    没有
    murmur
    murmur
    Sep 26, 2019❤️1
    5
    我认为能写到 ul/li/a 或者 th、tr、td 这种级别就算语义化做的不错了,没什么理由强制别人要求用 footer、header、section 这些
    unicloud
    unicloud
    Sep 26, 2019 via iPhone❤️1
    6
    想让网页更具语意化,除了在适合的场景用适合的标签外,可以了解下 schema.org
    xiaoming1992
    xiaoming1992
    Sep 27, 2019 via Android❤️1
    7
    div 一把梭,像 @murmur 说的,用 ui/li, tr/td, button 什么的就已经够给他面子了
    ericgui
    ericgui
    Sep 27, 2019
    8
    语义化标签对 SEO 有好处,但问题是,这个年代了,大家不搞 SEO 了

    如果你需要优化对 google 的 seo,还是用语义化标签比较好
    xiaoming1992
    xiaoming1992
    Sep 27, 2019 via Android
    9
    @unicloud 不是一般的麻烦,事物意向千千万,要想全部用 itemtype 指明根本不可能,可能只能适用 /流行于特定场合吧。
    chenliangngng
    chenliangngng
    Sep 27, 2019
    10
    用有自带样式的标签简直是场灾难,代表的 h 系列,p,更冷门的 em,strong,blockquote。你也许可以在自己写的页面去除掉它们所有的样式,请等一下,谁知道什么时候又会在什么地方重新复用它们呢?也许你下一份代码的使用者并未清除原有样式,或者不同的浏览器完全长得不一样,你把时间全浪费在这些琐碎无比的事情上,应该想着最开始用 div 去写是不是就好了。
    听说有更新更棒的语义话标签,header,footer,aside,article,section,我尝试着学习 article 和 section 到底有什么不同,并在实际开发中尝试使用它们所有的。可是令人沮丧的是,你有把握你的 aside 在 1 个月以后还存在吗,你的 article 在 3 个月以后是不是会变成 section 呢,这里有着全世界最高效的执行力,以及变化最快的需求。

    我看过某 html 入门书,里面强推 html 的语义化标签叫读者不要大量用 div,我读这本书的感受大概就像上面写的
    dartabe
    dartabe
    Sep 27, 2019❤️1
    11
    搜遍了网上也很难找到 article 和 section 该怎么用的答案...
    akvo
    akvo
    Sep 27, 2019 via Android
    12
    萌新一只,目前基本 div 一把梭
    ericgui
    ericgui
    Sep 27, 2019
    13
    @dartabe 直接看 mdn
    dartabe
    dartabe
    Sep 27, 2019
    14
    @ericgui 区别很模糊
    AV1
    AV1
    Sep 27, 2019 via iPhone
    15
    这些语义化标签,会不会隐藏一些默认样式,甚至隐式特性呢?比如 p 标签,有多少人知道,它内部,是不允许再嵌套任何块级元素的?
    skallz
    skallz
    Sep 27, 2019❤️1
    16
    个人感觉语义化标签,其实更多的是为了无障碍,比如给盲人朗读网站内容,那么语义化标签可以带来重读等语气变化,至于 seo,你见过国内有几个网站强调用语义化标签来优化 seo 的,在欧洲的部分网站倒是看到过些语义化标签使用的比较好点的,估计也是更多的响应无障碍这点
    dumbass
    dumbass
    Sep 27, 2019 via iPhone
    17
    @DOLLOR 等到开发者发现问题的时候,隐藏特性带来的 bug 不就为人所知了。
    starcraft
    starcraft
    Sep 27, 2019
    18
    啥卵用 反正都要清样式 div 就完事了
    NikoLan
    NikoLan
    Sep 27, 2019
    19
    @chenliangngng 对于语义化标签的样式,每个项目的需求也是不一样的,可以先引入全局样式,在其中定义这些标签的样式,这样能最简化重复定义。语义化的标签也有助于别人阅读代码。
    minglanyu
    minglanyu
    Sep 27, 2019
    20
    @chenliangngng 我也用了很久了 article 和 section 我是真的分不清。后来干脆全用 section 了。
    VDimos
    VDimos
    OP
    Sep 27, 2019 via Android
    21
    @DOLLOR 对,所以记起来也麻烦
    ByteRan
    ByteRan
    Sep 27, 2019
    22
    移动版用的多
    KuroNekoFan
    KuroNekoFan
    Sep 27, 2019
    23
    前两年强调,现在可以不用强调了,div 一把梭毫无问题
    annielong
    annielong
    Sep 27, 2019❤️1
    24
    很早以前就是 div 堆砌了,html 标签都想全部抛弃,html 标签本身就是一种标准,好多地方可以按照这个标准来无缝对接,如无障碍阅读等
    SSW
    SSW
    Sep 27, 2019
    25
    直接 div 梭啊
    learnshare
    learnshare
    Sep 27, 2019
    26
    近几年的技术发展已经没办法再强调语义化了
    azcvcza
    azcvcza
    Sep 27, 2019
    27
    现在都是在用框架,啥时候不都是 div 一把梭了。
    最多 ul > li 渲染列表,
    table>tr>td 渲染表格
    别的基本就不用了吧。
    duan602728596
    duan602728596
    Sep 27, 2019 via iPhone
    28
    用啊。我 js 变量 a、b、c、d、e 你能接受吗?
    signalas1
    signalas1
    Sep 27, 2019
    29
    把 html 当文档就去语义化,只是借着 html 做 web app 就不用那么较真
    yahon
    yahon
    Sep 27, 2019
    30
    1、用比不用好
    2、不用比用错好
    3、直接 DIV SPAN 一把梭
    xuejianxianzun
    xuejianxianzun
    Sep 27, 2019
    31
    用啊,常用的那些也很好用啊,偏门的不用就完事了。
    我常用的就这几个 header、nav、section、article、aside、footer
    至于楼上诱人说的什么各个标签的隐藏特性,这些我用着反正是没发现有什么问题
    p 和 h 标签都要用 div 代替的,我觉得更多的是思维惰性吧。
    (话说为什么非要在 p 里放块级元素,这种情况本来就不该用 p
    userdhf
    userdhf
    Sep 27, 2019
    32
    搭车问个问题,dl 里面能不能放多个 dt ?
    17681880207
    17681880207
    Sep 27, 2019
    33
    p section article 谁分的清楚什么时候该用什么啊?
    header 和 footer 到还是可以用下。
    说到底,还是因为文化差异。
    KuroNekoFan
    KuroNekoFan
    Sep 27, 2019
    34
    @DOLLOR 印象深刻,p 里面放 div 会导致渲染问题,而且非常隐蔽
    dusu
    dusu
    Sep 27, 2019 via iPhone
    35
    语义化? vuetify 了解一下
    kid1412621
    kid1412621
    Sep 27, 2019 via Android
    36
    @ericgui 想求问下 seo 怎么搞,除了服务端渲染
    xnode
    xnode
    Sep 27, 2019
    37
    会 但是只在 服务器渲染的 情况搞
    icebreaker12
    icebreaker12
    Sep 27, 2019
    38
    @DOLLOR 同,p 标签内嵌套块元素在初学时困扰了本人好久
    ClericPy
    ClericPy
    Sep 27, 2019
    39
    现在怎么这么多喜欢加 er 的叫法...... 直接叫 FE 不好听么...
    当拼音发音都有一种很厉害的感觉: 我真特么 fe 了

    至于语义化标签, 这个有什么 Google firefox 准则规范之类的参考么, 平时大部分操作都是框架里直接复制的, 挺多大厂网站确实是语义化的...
    programmerM
    programmerM
    Sep 27, 2019
    40
    在不需要兼容老 IE 的情况下我都会用语义化标签,语义化标签对于屏幕阅读器还是比较重要的。在需要兼容老 IE 的情况下,我一般用 role 属性来代替语义化标签。
    redbuck
    redbuck
    Sep 27, 2019 via Android
    41
    @ClericPy +1 搞得用户起名困难,好名字都给占了😂
    xiangyuecn
    xiangyuecn
    Sep 27, 2019
    42
    记一个 div 比 记一堆乱七八糟+本来就不是给人看的 玩意强得多😂 而且还不用动脑子多好😁

    毕竟 div 永远比那些表面看起来认识,实际上一无所知的玩意可靠
    ericgui
    ericgui
    Sep 27, 2019
    43
    @kid1412621 我也在摸索中,不是大佬
    old9
    old9
    Sep 27, 2019 via Android
    44
    @userdhf 能,且应当
    old9
    old9
    Sep 28, 2019 via Android
    45
    dl 的问题是没有 li——ul 有 li,ol 有 li,偏偏 dl 没有
    好在 WHATWG 允许 dl 中用 div 了
    zqx
    zqx
    Sep 28, 2019 via Android
    46
    只用 div span 说明是开发者以功能角度或当作编程语言去看待 html 的,这样写出来的功能和样式严格符合期望,兼容性还好。
    但 html 不是编程语言,是标记语言,它应该像文档一样段落分明,语义清晰......
    就好像穿衣服一样,不同场合穿不一样的,永远穿一套 divspan 就等同于只满足了保暖的低阶需求
    starsriver
    starsriver
    Sep 28, 2019 via Android
    47
    什么年代了,我一般都是<elm:name></elm>现代 css 那么多好用的东西,非要折磨自己。

    js+:name 解决一切冲突问题。
    userdhf
    userdhf
    Sep 29, 2019
    48
    @old9 #44 感谢老哥!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1283 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    ♥ Do have faith in what you're doing.