2011-05-31 54 views
3

我是一个网络开发人员,已经有近2年的时间了,我仍然每天都在学习新的东西,但是由于我的知识越来越大,我遇到了一些根本性的问题,无法找到一个好的讨论它。CSS Class&ID结构/命名

你如何命名你的DIV,ID,类?你给他们具体的内容相关的名字? (即<div id="google_map">

或者您是否将他们的名字命名为与他们在网站上的位置有关? (即<div id="content_top_bar">

并且您是否以同样的方式在.css中执行此操作?

我希望你能得到我想找到的东西。我想没有任何“真实”的答案,但我想知道一些意见,以便我可以决定采取什么选择并在将来继续使用它。

回答

6

HTML应作为语义越好,这样你的类和ID应该被命名为他们的内容,而不是他们的风格,或网站中的位置(这些东西应该能变化不会影响你的HTML。

例如,如果你命名一个<div id="left-sidebar">和后来决定你想移动该元素的ID不再将语义表示的元素。相反,如果你一个名为<div id="navigation"><div id="article">他们仍然会代表元素,无论他们在页面上的位置或样式如何。

+0

谢谢丹!你让Blindy的观点更加清晰,我会确定。尝试在未来使用这些“规则”。你是否介意回答Blindys回答的问题:)? – Andrej 2011-05-31 14:52:26

+0

@Andrej - 我认为Blindy和我本质上是一样的。代码中总是存在一定的个人风格。您需要找到个人喜好和良好语义的完美组合。最终,您的目标是保持您的代码清洁,并且对另一位可能正在阅读的开发人员有意义。你想尽量保持你的内容(HTML)和你的布局(CSS)尽可能分开。你如何去做可能会发生在一百种不同的(但完全可以接受的)方式中。 – Dan 2011-05-31 17:32:45

1

由于HTML是用于内容的,因此您的命名应该引用内容。

3

我会根据它们的内容命名对象(无论是否是物理的逻辑)。你在乎什么是对象而不是它在

上述规则的例外是当对象形成页面布局时,但在这种情况下,它不应该真正有名称,除非您打算操纵页面的结构来移动东西运行时(这很好,很少见)。

另外我发现自己并不是指定很多对象,而是指定它们的类,特别是对于我必须一起操作的相关对象。它使得通过jQuery(或你选择的任何框架)与他们合作变得更容易。

+0

这是有道理的。特别是,我已经知道只需查看页面/代码即可查看对象的位置。 还有一件事:让我说我有我的#内容和我的#menu链接,但我想他们完全不同。 你会为每个链接类型创建2个类(a.content_link,a.menu_link)吗? 或者你会为每个div设置链接样式(#content a,#menu a)? 你会把它们放在#menu和#content中或者在你的.css文件中加上“a”标签吗? – Andrej 2011-05-31 14:43:51

+0

sry为坏的格式,我无法弄清楚这个mini-Markdown格式的换行符:) – Andrej 2011-05-31 14:45:53

+1

菜单链接在语义上是一个菜单项,所以我称之为'.menuitem',而你的内容链接是正常的所以我会将它们设置为'.content a'(请注意,我认为'content'是一个类,因为它被用来定义你的内容的外观,你不应该关心那些足以实际命名它的内容) 。 – Blindy 2011-05-31 15:59:28

2

我觉得这是一个明确的回答这个问题:无论什么最适合你的:)

有些事情要考虑:

  • 您在codefiles或不是唯一的写作?
  • 你的网站的结构是什么,它是静态的还是动态的?

根据这些,你可以选择英文名或你自己的语言,或者你可以选择命名div“内容”而不是“div_homepage”。

希望那是有帮助:)

+0

Hi NwN! 这确实有帮助,因为我现在单独工作,甚至没有考虑到其他人可能难以轻松理解代码格式,而对我来说很简单。请牢记这一点! – Andrej 2011-05-31 14:48:05

0

根据什么的HTML元素代表:

  • 元素是布局的一部分,它的名字的东西,代表了布局的一部分。 示例:'footer_top_bar'

  • 元素用于特定内容,将其命名为代表内容的内容。 例如:'comment', 'navigation', 'breadcrumbs'.