使用自定义属性来写 CSS 选择器是否更优雅?

小伙伴推荐在 css 中使用自定义属性代替 class 做选择器,

html:

<button bg="blue">blue</button>
<button bg="red">red</button>

css:

[bg="blue"] {
  background-color: blue;
}
[bg="red"] {
  background-color: red;
}

http://codepen.io/Integ/pen/YPRpWE

相比用 class 和 tagname 做选择器,每个属性控制一个样式更加清晰明了,避免了选择器中 class 对权重的影响。

但是自定义属性增加了html的复杂度。

前端应该如何合理使用属性选择器?

阅读 14.1k
1 个回答

好吧,性能成指数下降。

干嘛不这样写?

css.bg-blue {
  background: blue;
}
html<div class="bg-blue"></div>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题