4

如果我有诸如“left”、“right”、“clear”和 xhtml 之类的类名

<a href="index.php" class="right continueLink">Continue</a>

像 CSS 一样

.right {
float: right;
}

我知道这不是一个语义名称,但有时它确实让事情变得更容易。

无论如何,你的想法是什么?

4

7 回答 7

17

我不认为这是一个很好的主意。现在,当您(或未来的维护者)去更改您的网站布局时,您要么必须更改.right{float:left;}(显然是个坏主意),要么浏览所有 HTML 文件并更改rightleft.

为什么您希望该特定链接正确浮动,而其他链接不浮动.continueLink?使用该问题的答案为该链接选择一个更具描述性的类名。

于 2008-10-28T04:50:13.407 回答
7

css 是关于html 页面结构的展示。

这意味着它的类应该代表文档的结构('article'、'extra-links'、'glossary'、'introduction'、'conclusion',...)。

你应该避免任何与物理表示相关的类('left'、'right'、'footnotes'、'sidenotes'...),因为正如Zen Garden清楚地说明的那样,你可以决定将任何 div 放在非常不同和不同的方式。

于 2008-10-28T05:14:38.817 回答
2

纯粹主义者会说不要这样做,实用主义者会说没关系。但是纯粹主义者会定义.rightfloat: left吗?

于 2008-10-28T05:35:19.710 回答
1

建议避免使用与 CSS 规范中的值相同的名称以避免混淆。特别是在多个开发人员在同一个应用程序上工作的情况下。

除此之外,我认为没有问题。我会像这样限定右侧或左侧名称:menuleft、menuright 等。

于 2008-10-28T04:28:33.997 回答
1

作为一个纯粹主义者,我说不,不要这样做。由于前面提到的原因。

作为一个实用主义者,我只想说,我从来没有见过涉及没有 css 的纯 html 更改或没有 html 的纯 css 的网站返工,仅仅是因为这两个部分都是在考虑另一个部分的情况下开发的。因此,实际上,如果其他人需要更改页面,我敢打赌我的薪水他们会同时更改 html 和 css。

以上是周围的同事纯粹主义者经常倾向于忽略的事情,即使这是现实。但底线;不,避免使用诸如“right”之类的类名。:-)

于 2008-10-28T07:46:01.413 回答
0

.right 和其他类似的类,当然可以快速编写一个float:right附加规则的标签,但我认为这种方法的缺点多于优点:

通常带有单个的类样式float:right;会缺少某些东西,如果另一个类规则中包含 a,您的示例只会向右浮动display:block,因为“a”标签不是块级元素。浮动元素也经常需要附加宽度和高度。这意味着您的示例中的代码需要额外的代码来完成它所说的,并且当您必须更改您的 css 时,您必须在两个地方进行搜索。

我倾向于通过将页面划分为具有唯一 id 的不同 div 标签来设置我的 html 样式,然后像这样通过继承来设置这些 div 中的元素样式。

div#sidebar { float:right; width:200px; }
div#sidebar ul { list-style-type:none; }

这使得对我的 css 文件进行分区成为可能,因此很容易找到样式化特定标记的 css 代码,但是如果您引入 .right 和其他类,您开始将规则分散到 css 文件的不同区域,使网站更难维护。

我认为拥有一个非常通用的类的想法源于希望通过更改样式表中的一些规则来更改网站的整个布局,但我必须说,在我 8 年的网站开发中30 多个不同的网站,我从未更改过网站的布局并重用 HTML。

我无数次所做的就是对页面区域进行小幅调整,这可能是由于设计上的微小变化,也可能是由于新浏览器的引入。所以我完全赞成将我的 css 分成整齐的块,这样可以很容易地找到我正在寻找的规则,而不是将代码放在不同的地方来实现更短的样式表。

问候杰斯珀豪格

于 2008-10-28T09:55:53.257 回答
0

是的,从语义上讲这是错误的,但是,例如,有时我将图像定位在正文块中,我会给它们“正确”的类。

也许“alt”是一个更合适的类名。

于 2008-10-28T10:09:05.337 回答