我又在琐碎的事情上浪费时间了。我现在问自己 - 也问你们 - 怎样做CSS选择器/HTML标记最好呢?
是尽量避免使用类,保持HTML的纯洁和美观,还是为了样式而随意添加类?
比如,如果我想要给网站的各种表单按钮设置样式,应该怎么做呢?
input[type="submit"] { /* styles */ }
还是我给它们全部添加一个"class=form-button"的类,然后执行
.form-button { /*styles */ }
在这个简单的例子中,人们可能不会太在意,但如果我想要以语义化而非呈现性的方式对列表中的第三个链接进行不同的样式设置,我可以这样做。.navigation ul:nth-of-type(2) a:nth-of-type(3) { /* styles */ }
与仅为一个链接指定“different-link”类并使用相应的CSS样式表相比。.different-link { /* styles */ }
我知道在2013年,所有的计算设备和它们运行的浏览器都应该足够快,以至于技术上不太完美的CSS选择器对最终用户不会产生任何影响。
所以最后,这似乎真的是一个问题:“我是要用类来填充HTML(产生冗余),还是用冗长的选择器来填充CSS(使其复杂)?”
您对此有什么看法?
.form-button
比input[type=submit]
更好,因为标记可能会改变对我而言更像是一种观点,而不是事实。毕竟,您可以简单地删除类型选择器并仅使用属性选择器:[type=submit]
。 - James Donnelly