html – 面向对象的CSS

前端之家收集整理的这篇文章主要介绍了html – 面向对象的CSS前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看了这个 presentation about object oriented css,但我想我要么不理解它,要么不理解使用OO CSS的好处:

示例HTML:

<div class="border-1 bg-2 color-1 font-1">
</div>

示例CSS:

/* borders */
.border-1 { border: 1px solid red; }

/* backgrounds: */
.bg-2 { background: yellow; }

/* other sections */

我看到能够快速更改多个元素的样式的优势,例如,能够切换配色方案将非常有用.

但实际上,您在HTML中定义样式/外观,或者至少是其中的一部分.当然,它比使用style属性更好,因为您仍然可以为一组组交换样式.

关键是,您要在HTML中定义样式组,但我了解到您应该在HTML中创建“逻辑”组(例如class =“nav-item”/ class =“btn submit-btn”)和CSS完全应用了样式,并从“风格”的角度定义了哪些元素属于一起(例如.nav-item,.submit-btn {background:red;}).

也许我完全误解了这个概念.但是,我仍然不知道构建CSS的好方法.

解决方法

CSS不是面向对象的.我的建议是忘记你所读到的关于“面向对象的CSS”的内容,而是专注于你试图解决的CSS问题.如果他们要使CSS更容易编写,阅读和维护,或者为了获得更多功能(如CSS变量),我认为 LessSass将更好地满足您的需求.

使用像“面向对象的CSS”所建议的CSS只会导致可怕的,非语义的和无意义的CSS,从长远来看,它不比“普通”CSS更容易维护. id和class都应该有semantic and meaningful names,所以使用一个允许你编写语义CSS(描述意图而不是表示)的框架在我的拙见中更好.

猜你在找的HTML相关文章