style属性仅对可渲染元素生效,如等;写在等元信息标签上无效,浏览器直接忽略。

style属性写在了不该写的标签上
只有可渲染的 HTML 元素才支持 常见误用: 例如: 内联 实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。 比如: 对比
实际排查最常卡在 style 属性,比如 、、;、、、 这类元信息标签加了也完全无效,浏览器直接忽略。 看似合理,但 本身不参与视觉渲染,字体不会继承下去;真正该设的地方是 或根级容器元素。
是设置全局默认样式的合理起点,比如 font-size、line-height、color
,别往 上硬套style 插到 外或注释块里,也会静默失效style值语法错误或格式不合法
style 的值是 CSS 声明块,但必须是单行、分号分隔、冒号后带空格、单位不能省略——任何格式偏差都会导致整条声明被丢弃。style="color: red font-size: 14px" 缺少分号,浏览器只认前半截 color: red,后面全失效;style="width: 100" 没单位,等同于无效。
font-family: "Helvetica Neue" → style="font-family: "Helvetica Neue""
style="color: red;
font-size: 14px" 在部分旧环境可能解析失败style和class冲突时谁生效?
style 属性的特异性(specificity)永远高于外部或内部 class 规则,除非后者用了 !important。这不是“不生效”,而是被更高优先级覆盖了。
+ .box { color: red; } → 最终是绿色。
element.style 还是某个 .box 规则style 属性;若需动态控制,改用 className 切换预设 class,而非拼接 style 字符串elem.style.color = 'blue' 设置,注意驼峰命名(background-color → backgroundColor)父元素隐藏导致子元素style“看起来”没效果
display: none 会让子元素彻底脱离渲染树,此时哪怕子元素有 style="color: red",它也不会显示——不是样式没加载,而是元素根本没参与布局和绘制。visibility: hidden:子元素仍占位、仍可被 JS 访问(如 offsetHeight),只是不可见;而 display: none 下,offsetHeight 为 0,getComputedStyle 也取不到颜色值。
display 和 visibility
visibility: hidden 做弹窗隐藏,tab 键仍能聚焦、屏幕阅读器仍可读取;真要隐藏交互区域,请用 display: none + aria-hidden="true"
display: none,子项所有 style 都无意义——先确保父容器是渲染态style 被写在了 或 上,或者路径/语法肉眼难辨的空格和分号问题。这些地方没有报错,也不提示,只能靠开发者工具逐层点开验证。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










