我试图避免选择器的长链并使用一个基于类的选择器,该选择器是在将 LESS CSS 编译为纯 CSS 时自动创建的。有关详细信息,请参见下面的示例。
受http://css-tricks.com/efficiently-rendering-css/的启发,我想到了为每个元素创建独特的类(重复的类可能会有意地有益)以提高 CSS 渲染的效率。
HTML
<div class="main">
<img src="something.jpg" />
<a class="link" href="#">Click me</a>
</div>
更少的 CSS
div.main {
img {border:1px solid #ccc;}
a.link {color:blue;}
}
标准纯 CSS(从上面的 LESS 编译)
div.main img {border:1px solid #ccc;}
div.main a.link {color:blue;}
所需的纯 CSS(从上面的 LESS 编译,父元素中的子元素的类格式为
.parentElement1-parentClass1-childElement1-childClass1
,null
如果类未定义则使用)
.div-main-img-null {border:1px solid #ccc;}
.div-main-a-link {color:blue;}
当然,元素的更具体/描述性的类名可以解决这个问题,但对于更大的应用程序并避免重复的类名,这种方法可能会更好,因为可读性由 less 处理并且生产 css 是高效的。“body”元素被用作基础元素,其他所有元素在命名方面都与它相关。html 中的类名仍然必须手动定义以符合此要求,但可以创建一个脚本来自动为所有元素创建类名。
我想知道LESS是否可以考虑到这个标准的编译方法。你对这个想法有什么想法,如果这样的事情是可行的?