1

我在 CSS 中创建了许多基本类,例如“rounded”、“hidden”、“red”、“floated”等……我像乐高积木一样使用它们,以获得所需的结果。为什么?因为我的网站是动态渲染的,而且它们可能有多种选择。我不想为每个可能的组合创建一个类,所以我决定创建多个类并将每个 div 分配给五个甚至六个不同的类。另一方面,我听说了 DIVITIS 问题。我知道我使用的所有 div 都是必需的。但我的问题是:

这些事情有问题吗?我的意思是,为了在不同的设备上渲染它,或者渲染时间等等......

使用示例:

<div class="block spgreen toprounded">
<div class="boxnm left nmquart blue mkPln btn topLrounded"><h1 class="pdg txtCenter">Inicio</h1></div>
<div class="boxnm left nmquart green mkPln btn active"><h1 class="pdg txtCenter">Navegar</h1></div>
<div class="boxnm left nmquart orange mkPln btn"><h1 class="pdg txtCenter">Aprender</h1></div>
<div class="boxnm left nmquart red mkPln btn topRrounded"><h1 class="pdg txtCenter">Compartir</h1></div>
</div>


编辑:
每个 css 类的属性不超过 5 个。


编辑2:
我的设计基于“块”和“盒子”。块具有自动溢出功能,并且盒子总是浮动的。它们可以有 4 种不同的尺寸(宽度):25%、50%、75%、100%。然后我创建了一个“魔法属性”列表,比如:阴影、圆角等等……为了像我一样控制所有的东西。问题是这对于谷歌索引我的页面是否是“错误的”,或让安卓手机渲染它,或或或...

一些CSS可能是:

div.block{ /* Block lines (will contain floated boxes) */
 position:relative;
 overflow:auto;
}
div.box{
 position:relative;
 margin:.5%; /* +1% (both-sides) */
}
 div.box.nm{
 margin:0;
}

/* Position */
.center{
 margin:.5% auto !important;
}
.left{
 float:left;
}
.right{
 float:right;
 text-align:right;
}
4

2 回答 2

3

就我个人而言,我更喜欢将 css 类命名为它们是什么,而不是它们的样子,例如:

<div class="menu">...
<label class="caption">...

然后,我将创建一个设置为红色的类定义,并将所有类设置为它。

例如 .menu, .menu .caption{color:red};

等等等等

这样您就可以定义完全不同的样式,并且 css 命名保持不变。如果您有名为 的类redrounded等等,您就会被这种样式所困扰,否则名称将变得毫无意义。

当然,这可能与您的“动态渲染”无关,但您还没有说这意味着什么。

于 2012-08-17T13:44:44.170 回答
3

我想这与 Divitis 本身无关。divitis的经典(嗯,more-o-less ...)定义是关于在不需要它们的地方使用包装器。当有人使用过多的通用容器,用类定义它们的语义时,它实际上被称为classitis。)

但我想在这里指出另一个问题:通过这种约定,您实际上将 CSS 作业(样式)...移回了 HTML。例如,如果您需要更改某些块的颜色,则无需触摸 CSS 文件 - 您可以编辑 HTML 本身(将“红色”类替换为“橙色”类)。我不认为这是 CSS 和 HTML 应该如何协作的方式,至少可以这么说。)

相反,在我们的环境中,我们使用逻辑块,但它们只是它 - 逻辑块。而且我们并不孤单:如果您仔细检查 Twitter Bootstrap 框架的约定,我猜您会看到相同的方法。HTML 中的逻辑块,CSS 中的样式——当然,也很少使用通用块。就我而言,一个有说服力的例子是 Bootstrap 的图标样式:当<i>使用元素而不是更通用的spans.

于 2012-08-17T13:48:15.427 回答