HTML元素的class命名到底该用驼峰还是短横线? 长孙子诺 提问于 2026-03-30 12:54:13 阅读 4 前端 我在写一个用户卡片组件,纠结class名字怎么起才规范。看到有的项目用驼峰比如userCard,有的用短横线比如user-card,到底哪种更符合前端规范? 我试过用驼峰命名,但同事说HTML里应该用短横线,可我又不确定是不是真的有这个讲究。 <div class="userCard"> <img src="avatar.jpg" alt="头像"> <span>张三</span> </div> 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 UX秀玲 Lv1 在HTML和CSS中,class命名用短横线确实是更常见的做法。我的做法是统一用短横线命名,比如改成 user-card。 原因很简单:这是前端社区的惯例约定,几乎所有流行的框架和库都遵循这种风格。像Bootstrap、Tailwind这些主流框架,所有class都是短横线分隔的。 而且从技术角度说,有些老版本浏览器解析驼峰命名会有问题,虽然现代浏览器都支持了,但为了兼容性和一致性,还是建议用短横线。 改一下你的代码就是: <div class="user-card"> <img src="avatar.jpg" alt="头像"> <span>张三</span> </div> 说实话我也经历过这个纠结期,后来发现大家都是这么干的,就随大流了。毕竟写代码也要考虑团队协作和维护性,统一规范更重要。 回复 点赞 2026-03-30 13:01 加载更多 相关推荐 1 回答 50 浏览 VSCode 里点击 HTML 中的 class 为啥跳不到对应的 CSS? 我在 VSCode 里写前端时,想通过点击 HTML 元素的 class 名直接跳转到 CSS 文件里对应的样式,但点不动,也没反应。明明之前好像可以的,是不是哪里设置错了? 我的项目结构是分开的 H... ❤朝曦 工具 2026-03-12 19:48:23 2 回答 29 浏览 vscode多光标怎么同时修改多个div的class属性? 我在写HTML时有三个div,想同时给它们的class加上"active"。试过用Alt+单击添加多光标,但发现只能在属性值开头添加,光标无法定位到不同位置,比如有的要加在开头有的要加在中间: <... Top丶圣恩 工具 2026-02-10 17:25:28 2 回答 35 浏览 为什么我的 HTML 文件改了但浏览器还是加载旧版本? 我改了首页的 HTML 内容,但刷新后浏览器还是显示旧的,强制刷新才生效。是不是缓存没配对? 我试过在 Nginx 里加了 Cache-Control,但好像没起作用。本地开发时用的是 live se... 长孙楠楠 优化 2026-03-12 21:43:20 1 回答 7 浏览 VSCode插件里怎么监听HTML文件的特定标签变化? 我在写一个VSCode扩展,想在用户编辑HTML文件时,自动检测是否新增了带有data-track属性的元素,但不知道该监听哪个事件。试过onDidChangeTextDocument,但拿到的cha... 一英瑞 工具 2026-03-30 00:34:13 1 回答 34 浏览 Prettier 的 htmlWhitespaceSensitivity 到底该怎么用? 我在用 Prettier 格式化 Vue 组件时,发现 HTML 里的空格有时候被删掉导致样式错乱。查了文档说可以用 htmlWhitespaceSensitivity 配置,但我设成 "strict... 端木梓希 工具 2026-03-21 12:37:21 1 回答 32 浏览 HTML5语义化标签到底该怎么用才对? 我最近在写一个博客页面,想用 HTML5 的语义化标签,但有点搞不清 <article>、<section> 和 <div> 到底啥时候该用哪个。 比如文章列表里的... 璐莹 Dev 前端 2026-03-15 17:48:30 2 回答 36 浏览 移动端 HTML 代码混淆后页面布局错乱怎么办? 我用了一个在线混淆工具处理移动端页面的 HTML,结果页面样式全乱了,元素位置都不对。是不是混淆不该动 HTML 结构啊? 我原本的结构很简单,就一个按钮和一段提示文字,混淆后 class 名被改了,... 开发者艳艳 移动 2026-02-27 23:30:21 2 回答 62 浏览 为什么Nuxt布局里的动态标题没在HTML里显示出来? 我在Nuxt3项目里设置了动态标题,但生成的HTML页面标题还是默认的"Welcome",怎么回事? 布局文件是这样写的,想根据路由参数动态生成标题,但页面加载后标题始终没变化: <templa... ♫梓涵 框架 2026-02-09 13:30:27 2 回答 74 浏览 为什么我的HTML压缩配置不起作用? 我在Vue项目里用HtmlWebpackPlugin做HTML压缩,按文档配了minify选项,但生成的文件还是有空格和换行。比如这个配置: module.exports = { configureW... Code°永景 优化 2026-02-05 10:47:33 2 回答 7 浏览 VSCode 有哪些提升 HTML 开发效率的插件推荐? 最近在写静态页面,发现手写 HTML 太慢了,标签补全和格式化老是出问题。有没有好用的 VSCode 插件能智能提示、自动闭合标签,还能格式化得干净一点? 比如我写下面这种结构,经常忘记闭合 div,... a'ゞ庆庆 工具 2026-03-29 14:50:14
user-card。原因很简单:这是前端社区的惯例约定,几乎所有流行的框架和库都遵循这种风格。像Bootstrap、Tailwind这些主流框架,所有class都是短横线分隔的。
而且从技术角度说,有些老版本浏览器解析驼峰命名会有问题,虽然现代浏览器都支持了,但为了兼容性和一致性,还是建议用短横线。
改一下你的代码就是:
说实话我也经历过这个纠结期,后来发现大家都是这么干的,就随大流了。毕竟写代码也要考虑团队协作和维护性,统一规范更重要。