使用类似“正确”的类名被认为是不好的做法?

时间:2008-10-28 04:25:51

标签: css xhtml semantics

如果我有类名,例如“left”,“right”,“clear”和xhtml,如

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

使用CSS

.right {
float: right;
}

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

无论如何,你有什么想法?

7 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:6)

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

意味着它的类应该代表文档的结构('文章','额外链接','词汇表','介绍','结论',......)。

你应该避免链接到物理表示的任何类('left','right','footnotes','sidenotes',...),因为,{{3}如此清楚地说明,你可以决定以不同的方式放置任何div。

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

除此之外我没有看到任何问题。我会对这样的右或左名称进行限定:menuleft,menuright等。

答案 4 :(得分:1)

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

作为一个实用主义者,我只是想说,我从未见过网站返工,其中涉及没有CSS的纯html更改,或者没有html的纯css,只是因为这两个部分都是在考虑其他部分时开发的。所以,实际上,如果其他人需要更改页面,我打赌我的工资会改变html和css。

以上是同事纯粹主义者经常倾向于忽略的东西,即使它是现实。但底线;不,避免使用className,例如“right”。 : - )

答案 5 :(得分:0)

.right和其他类这样的类,当然可以快速编写创建附加了float:right规则的标记,但我认为这种方法有更多的缺点而不是优点:

通常,其中包含单个float:right;的类样式将缺少某些内容,如果其他类规则中包含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分成整齐的块,这样可以很容易地找到我想要的规则,而不是将代码放在不同的地方来实现更短的样式表。

此致 Jesper Hauge

答案 6 :(得分:0)

是的,从语义上来说这是错误的,但是,例如,有时我将图像放在一个正文副本中,我会给他们“正确”的类。

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