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

2019-02-22 10:05:48 +08:00
 FaiChou

做前端开发有段时间了 (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 等.

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

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

2938 次点击
所在节点    前端开发
16 条回复
lwbjing
2019-02-22 10:08:06 +08:00
一般在面试的时候用的比较多。。
Pastsong
2019-02-22 10:10:58 +08:00
strong, b, i, u 不是语义标签,基于 markup 和样式分离的原则也不建议使用
Mutoo
2019-02-22 10:14:17 +08:00
国内开发者的字典上是不是没有 accessibility 这个词?
licript
2019-02-22 10:16:19 +08:00
基本没用过,review 同事的代码 也发现大家基本都是 div 一把梭
FaiChou
2019-02-22 10:16:22 +08:00
@Mutoo a11y 的意识挺差的, 顶多在 img 加 alt , a 加 title, 再多就是 eslint 警告的一些会去 fix..
IsaacYoung
2019-02-22 10:17:14 +08:00
全程 div
ChefIsAwesome
2019-02-22 10:19:27 +08:00
html 是文档格式,也是做 web app 规定使用的标签。当你拿来做文档的时候,它可能在浏览器里以简化模式显示,可能在其它软件里显示,可能被转换成 pdf,word 等其它格式。这种情况下,你就应该写语义化的标签。
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
2019-02-22 13:31:33 +08:00
大家都是 div 一把梭,我就比较优秀了,我还会用一些 span。
shintendo
2019-02-22 13:45:39 +08:00
@Pastsong
在 HTML5 里这些都是语义标签,没有不建议使用
DOLLOR
2019-02-22 14:24:45 +08:00
实践起来还是觉得 div+span 方便。首先那些语义标签,会担心有隐式样式、规则,另一方面,div 容易移植到其他的平台或框架(比如小程序)。
FaiChou
2019-02-22 14:25:50 +08:00
tanranran
2019-02-22 14:27:10 +08:00
面试的时候多
FaiChou
2019-02-22 14:27:48 +08:00
(cmd+enter 会直接发送回复啊.. 忽略上条)

@Tokin 谢谢


@DOLLOR 在 h5 世界里, 一直用 div+span 会有“愧疚感”, 听你这么说好多了😂
a4854857
2019-02-22 17:15:54 +08:00
最常用 div h2 span p strong header.剩下基本就没了.
rob001
2019-02-23 03:15:17 +08:00
点击的地方可以用 button

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/537516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX