V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pertersonvv
V2EX  ›  程序员

也谈 HTML5 语义标签,赶脚是个鸡肋

  •  
  •   pertersonvv · 2014-12-24 16:12:51 +08:00 · 3077 次点击
    这是一个创建于 3647 天前的主题,其中的信息可能已经有所发展或是发生改变。
    简单页面用语义标签,可以让代码跟清晰,css中定义样式也可以更明确
    但是赶脚稍微复杂点的页面,语义标签就成渣渣了,大家有这个赶脚么?

    亲们都说下用语义标签的体验吧:)
    18 条回复    2014-12-29 10:11:54 +08:00
    williamx
        1
    williamx  
       2014-12-24 16:15:15 +08:00
    还是要统一标准才是王道。
    66beta
        2
    66beta  
       2014-12-24 16:17:45 +08:00
    语义不是给开发人员体验的,是给搜索引擎和盲人设备的
    robertlyc
        3
    robertlyc  
       2014-12-24 16:25:30 +08:00
    你说鸡肋就鸡肋了?
    bombless
        4
    bombless  
       2014-12-24 16:44:29 +08:00 via iPhone
    前几年还很多人捧的…不知道是不是最近有些人终于发觉这个有人捧于是开喷了
    hkongm
        5
    hkongm  
       2014-12-24 17:05:56 +08:00
    楼主依然缺乏理解。
    Sivan
        6
    Sivan  
       2014-12-24 17:11:34 +08:00
    语义标签本意是好的,但标准改来改去,一堆前端已经用错了新标签让搜索引擎再怎么接入?
    juicy
        7
    juicy  
       2014-12-24 17:47:40 +08:00
    个人一直依赖感觉予以花这东西是有点鸡肋,至少从目前来看,我的观念里感觉这东西意义不大。这种想法源自于对它的一些疑惑:

    1.HTML5语义化标签似乎只是规范努力在推行的一种概念,但是不见得搜索引擎或着浏览器等设备有多推崇这个概念。
    2.前端界现在连兼容性这坎都无法越过,过分谈论语义化有种温饱都没满足就谈精神层次的享受一样的感觉。
    3.作为前端工程师谈论语义化对我来说感觉就像起到提升KPI的作用一样。语义化似乎单纯成为了一种证明你是前端工程师,证明你的工作很有成果的指标。
    4.语义化其实是个很感性的东西,就跟代码规范,用空格还是Tab一样,争论是没有结果的。如果真的是必要的,那就应该成为语法的一部分,一旦代码不是语义化的,就会报错。可是我觉得现在的编译器是不可能判断你的代码是否做到了语义化。

    以上均为个人看法,欢迎大家发表自己看法~但你我并无利益相争,不要尝试来说服我,谢谢~
    JamesRuan
        8
    JamesRuan  
       2014-12-24 18:46:12 +08:00
    语义的最重要意义是和样式分离,让HTML变成更加纯粹的语义框架,让CSS去填充样式的皮肉。
    语义当然可以给开发人员更好的体验,纯语义化的HTML可读性非常强,而过去那种语义和样式杂揉的方式反而有问题,比如说DIV+CSS就是为了净化这样的方式走了另一个去语义化的极端。
    JamesRuan
        9
    JamesRuan  
       2014-12-24 18:52:08 +08:00
    搜索引擎接入什么的只是后面的副作用而已,在语义标准没有被广泛接受和采用前基本没有意义。

    语义化(HTML5+CSS)和去语义化(DIV+SPAN+CSS)解决的都是样式和语义杂揉的问题,前者更加激进,后者则是保守的妥协;前者在未来有更多的优势(比如搜索引擎识别啥的),但眼下却有暂时的兼容性问题,后者刚好相反,完全没有前途。
    pertersonvv
        10
    pertersonvv  
    OP
       2014-12-25 01:44:29 +08:00
    @JamesRuan 赶脚复杂页面的语义很难表述呢?或者说很难直接给语义标签加样式,还是通过className加样式...
    lwbjing
        11
    lwbjing  
       2014-12-25 09:19:46 +08:00
    这个名词只有在面试的时候会被提到一些,实际项目里,哪能时时刻刻都遵从着。。只能尽量。。。
    JamesRuan
        12
    JamesRuan  
       2014-12-25 09:21:45 +08:00 via Android
    @pertersonvv 所谓语义和样式分离就是语义标签没有特定样式,只保留默认样式,比如normalize.css所做的那样。直接给语义标签特定的样式,还是过去那种没有分离的情况,其实也是因为没有理解语义标签的意义。
    pertersonvv
        13
    pertersonvv  
    OP
       2014-12-25 16:44:09 +08:00
    @JamesRuan 不是直接往语义标签上加样式,还是通过class属性为语义标签添加样式么?
    JamesRuan
        14
    JamesRuan  
       2014-12-25 17:47:48 +08:00 via Android
    @pertersonvv 是啊,标签只表示语义,样式由class属性去绑定。
    pertersonvv
        15
    pertersonvv  
    OP
       2014-12-25 17:48:45 +08:00
    @JamesRuan 不把样式直接绑在语义上,还要语义标签做神马?
    给搜索引擎当带路党么?
    JamesRuan
        16
    JamesRuan  
       2014-12-26 17:59:13 +08:00
    @pertersonvv 钻牛角尖了不是?语义标签主要是给人看的,样式主要是给机器看的。这样说是不更好些?
    如果你不同意语义和样式应该分离,那这个话题也就没有讨论的必要了。
    pertersonvv
        17
    pertersonvv  
    OP
       2014-12-26 19:50:04 +08:00
    @JamesRuan 二楼说是语义给搜索引擎和盲人设备的 @66beta
    66beta
        18
    66beta  
       2014-12-29 10:11:54 +08:00
    @pertersonvv 我觉得你们的设定不同,你是用户视角,他是开发人员视角
    开发来讲,样式通过class定义扩展性更高
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3121 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:13 · PVG 21:13 · LAX 05:13 · JFK 08:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.