2

考虑一下,在使用 CSS 预处理时:

.pull-right {
    float: right;
}
<div class="pull-right"><span>My content being pulled to the right</span></div>

或者

.pull-right {
    float: right;
}

.login {
    .pull-right;
}
<div class="login">My login form</div>

从教条上讲,我不喜欢实用程序类将样式问题渗入我的文档标记中。

务实地说,我喜欢实用程序类的易用性,而且我不需要一个单独的类来定位我需要拉到右边的每个元素。

有没有人因为在大型项目中使用实用程序类而被烧毁,其中结构必须更改,因此意味着 HTML 标记样式的更改?

如果我正在着手一个非常大的 UI 项目,我应该避免让样式问题进入我的标记的实用程序类吗?

4

1 回答 1

2

这是一个有点主观的问题,不适合 Stack Overflow。但让我试着这样回答。

  1. “有没有人在大型项目中使用实用程序类被烧毁。” 我毫不怀疑有些人曾经有过一段时间。每当您将公开的外观类混入 html 中时,如果外观必须更改,就会出现烧毁。

  2. 实用程序类有第三种用途,而不是您所描述的。JavaScript 可用于在某些时候动态添加一个类,以允许该类影响 HTML 内容。当然,这与您的第一个示例有关,但不会硬编码到 html 中,因此请避免您提出的问题。

  3. 最后,如何使用它真的取决于您的需求和期望。对于您的特定示例,添加float: right.logo类中与在其上使用实用程序 mixin 一样容易,因为该 mixin 中只有一行 CSS 代码。如果有十行,那么使用 mixin for.logo会更有意义。我假设 bootstrap 将该 mixin 定义为一个直接类,以便您可以灵活地根据需要使用它,直接添加类或作为 mixin。如果他们打算将其纯粹作为一个 mixin,那么他们的定义将是.pull-right()(带有括号),因此它不会创建pull-right作为类添加到元素上的选项。

因此,您是否应该避免将其用作直接课程完全取决于您愿意为所描述的场景承担什么风险。你可能会被烧死,但也许不会。这完全取决于某些事情发生变化的可能性、您将其引入 HTML 的次数,以及可能还有一些我没有想到的其他因素。只有您可以评估是否使用它的风险水平和回报水平。

于 2013-03-07T19:02:48.460 回答