`,中文MDN说得含糊,手册W3C规范直接告诉你:button的中文content model是phrasing content,div属于flow content,手册
不行。中文
中文手册的手册价值就在这。英文规范里那些绕来绕去的中文法律式表述,翻译成中文后阅读门槛降了一大截。我手边常翻的是W3C中国区翻译的那版,虽然部分章节的翻译更新滞后于WHATWG的living standard,但核心元素定义、内容模型、属性说明这些骨架部分是可靠的。
手册里真正值得反复看的几个部分
内容模型(Content Model)是整本手册里信息密度最高的章节。每个HTML元素都规定了它能包含什么、不能包含什么。`
`里不能嵌套`
`,``里不能套``,``的直接子元素只能是`- `——这些规则浏览器不会报错,但会影响DOM解析结果和CSS选择器的行为。我见过有人写`
文字
`,浏览器实际渲染时会把`
`提前闭合,DOM结构跟写的不一样,调试半天找不到原因。
全局属性那章也值得细读。`data-*`自定义属性、`hidden`、`contenteditable`、`draggable`这些,很多人只知道存在,不清楚具体行为边界。比如`hidden`属性在CSS里对应`display:none`,但如果元素同时设置了`display:flex`,`hidden`就失效了——这个优先级问题手册里写得很清楚,但网上不少教程会漏掉。
表单部分:变化最大,也最容易踩坑
HTML5对表单的改造相当激进。``新增了email、url、number、range、date、color等十几种type,每种都有各自的验证逻辑和UI表现。问题是各浏览器实现不一致。``在Chrome里弹出日历控件,在旧版Safari里就是个普通文本框。手册会标注这些差异,但不会替你决定用不用——你得自己权衡。
`
语义化标签:别为了用而用
``、``、`