h5 的语义标签使用频率多么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ethusdt
0.01D
V2EX    前端开发

h5 的语义标签使用频率多么?

  •  
  •   ethusdt
    FaiChou 2019-02-22 10:05:48 +08:00 3328 次点击
    这是一个创建于 2504 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做前端开发有段时间了 (react), 平时写页面大致就是:

    <div className={styles.container}> <div className={styles.top}> <div className={styles.wrapper}> <div>TITLE</div> </div> </div> <div className={styles.content}> {data.map(item => <div key={item.id} className={styles.item}> <img src={item.icon} /> <div>{item.title}</div> </div> )} </div> <div className={styles.bottom}> <div>BOTTOM THINGS</div> </div> </div> 

    用 div 一把梭, 平时每次看到语义标签就会在心中许下以后写页面多用语义标签, 可是每次写代码时候又会使用 div 把所有布局实现.

    从来不用 header, footer, section, article, h1~h6 来分区内容, 只用 div. 文字分区也是 div, p, pre, span, 从没用过 main, strong, b, i, u 等.

    大家常用的语义标签有哪些? 如何锻炼使用语义标签?

    demo

    比如这样的一个布局, 哪些地方可以用语义标签?

    16 条回复    2019-02-23 03:15:17 +08:00
    lwbjing
        1
    lwbjing  
       2019-02-22 10:08:06 +08:00   1
    一般在面试的时候用的比较多。。
    Pastsong
        2
    Pastsong  
       2019-02-22 10:10:58 +08:00
    strong, b, i, u 不是语义标签,基于 markup 和样式分离的原则也不建议使用
    Mutoo
        3
    Mutoo  
       2019-02-22 10:14:17 +08:00
    国内开发者的字典上是不是没有 accessibility 这个词?
    licript
        4
    licript  
       2019-02-22 10:16:19 +08:00
    基本没用过,review 同事的代码 也发现大家基本都是 div 一把梭
    ethusdt
        5
    ethusdt  
    OP
       2019-02-22 10:16:22 +08:00
    @Mutoo a11y 的意识挺差的, 顶多在 img 加 alt , a 加 title, 再多就是 eslint 警告的一些会去 fix..
    IsaacYoung
        6
    IsaacYoung  
       2019-02-22 10:17:14 +08:00 via iPhone
    全程 div
    ChefIsAwesome
        7
    ChefIsAwesome  
       2019-02-22 10:19:27 +08:00
    html 是文档格式,也是做 web app 规定使用的标签。当你拿来做文档的时候,它可能在浏览器里以简化模式显示,可能在其它软件里显示,可能被转换成 pdf,word 等其它格式。这种情况下,你就应该写语义化的标签。
    Tokin
        8
    Tokin  
       2019-02-22 11:48:59 +08:00
    看了下下面那个 card,如果按照我平时的习惯写,我大概会这样:
    `
    <section class="card card-available">
    <header>
    <div class="description">
    <div class="left">
    <h2>测试-3.8 大促销</h2>
    <span>全场通用</span>
    </div>
    <div class="right">
    <span><b>50</b>元</span>
    <span>不限制金额</span>
    </div>
    </div>
    <div class="get">
    <a href="Javascript:void(0);">立即领取</a>
    </div>
    </header>
    <footer>
    <a href="Javascript:void(0);">优惠券详情描述 <i class="icon"></i></a>
    </footer>
    </section>
    `
    hirasawayui
        9
    hirasawayui  
       2019-02-22 13:31:33 +08:00
    大家都是 div 一把梭,我就比较优秀了,我还会用一些 span。
    shintendo
        10
    shintendo  
       2019-02-22 13:45:39 +08:00
    @Pastsong
    在 HTML5 里这些都是语义标签,没有不建议使用
    AV1
        11
    AV1  
       2019-02-22 14:24:45 +08:00 via Android
    实践起来还是觉得 div+span 方便。首先那些语义标签,会担心有隐式样式、规则,另一方面,div 容易移植到其他的平台或框架(比如小程序)。
    ethusdt
        12
    ethusdt  
    OP
       2019-02-22 14:25:50 +08:00
    tanranran
        13
    tanranran  
       2019-02-22 14:27:10 +08:00
    面试的时候多
    ethusdt
        14
    ethusdt  
    OP
       2019-02-22 14:27:48 +08:00
    (cmd+enter 会直接发送回复啊.. 忽略上条)

    @Tokin 谢谢


    @DOLLOR 在 h5 世界里, 一直用 div+span 会有“愧疚感”, 听你这么说好多了
    a4854857
        15
    a4854857  
       2019-02-22 17:15:54 +08:00
    最常用 div h2 span p strong header.剩下基本就没了.
    rob001
        16
    rob001  
       2019-02-23 03:15:17 +08:00 via iPhone
    点击的地方可以用 button
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana   &bsp; 3133 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:59 PVG 12:59 LAX 20:59 JFK 23:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86