做前端开发有段时间了 (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 等.
大家常用的语义标签有哪些? 如何锻炼使用语义标签?
比如这样的一个布局, 哪些地方可以用语义标签?
1
lwbjing 2019-02-22 10:08:06 +08:00 1
一般在面试的时候用的比较多。。
|
2
Pastsong 2019-02-22 10:10:58 +08:00
strong, b, i, u 不是语义标签,基于 markup 和样式分离的原则也不建议使用
|
3
Mutoo 2019-02-22 10:14:17 +08:00
国内开发者的字典上是不是没有 accessibility 这个词?
|
4
licript 2019-02-22 10:16:19 +08:00
基本没用过,review 同事的代码 也发现大家基本都是 div 一把梭
|
5
FaiChou OP @Mutoo a11y 的意识挺差的, 顶多在 img 加 alt , a 加 title, 再多就是 eslint 警告的一些会去 fix..
|
6
IsaacYoung 2019-02-22 10:17:14 +08:00 via iPhone
全程 div
|
7
ChefIsAwesome 2019-02-22 10:19:27 +08:00
html 是文档格式,也是做 web app 规定使用的标签。当你拿来做文档的时候,它可能在浏览器里以简化模式显示,可能在其它软件里显示,可能被转换成 pdf,word 等其它格式。这种情况下,你就应该写语义化的标签。
|
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> ` |
9
hirasawayui 2019-02-22 13:31:33 +08:00
大家都是 div 一把梭,我就比较优秀了,我还会用一些 span。
|
11
DOLLOR 2019-02-22 14:24:45 +08:00 via Android
实践起来还是觉得 div+span 方便。首先那些语义标签,会担心有隐式样式、规则,另一方面,div 容易移植到其他的平台或框架(比如小程序)。
|
13
tanranran 2019-02-22 14:27:10 +08:00
面试的时候多
|
14
FaiChou OP |
15
a4854857 2019-02-22 17:15:54 +08:00
最常用 div h2 span p strong header.剩下基本就没了.
|
16
rob001 2019-02-23 03:15:17 +08:00 via iPhone
点击的地方可以用 button
|