CSS中class与id的区别

ID与class之间有何不同

ID和class都是“钩子”

我们需要一个使用html/xhtml语言描述文档内容的方式,类似的基础元素有<h1>,<p>和<url>来完成这样的工作,但我们的基础标签不能覆盖网页元素和布局选择中的所有类型。因此我们需要ID和class。
例如
<ul id="nav">
这将明确的给我们针对这个无序列表的机会,我们可以操作它到页面中唯一的另一个无序列表中。
或者在我们的网页中有一个段落并且没有相关的标签去标注它,例如页脚(footer),这里我们可以这样做
<div id="footer">
或许我们有一些盒子(box)在我们的侧边栏中,为了保持内容分离的方式有:
<div class="sidebar-box">
这些ID和class的钩子需要我们进行标注并执行他们。css显然需要我们建立选择并做我们的风格,但一些类似JavaScript的网页语言也依赖他们。但他们之间的不同是什么呢?

ID是唯一的

  • 每个元素仅可以有一个ID
  • 每个页面仅可以有一个元素拥有这个ID
    如果你不止一次的使用相同的ID你的代码将不能通过验证,验证对我们所有人来说很重要...

类不是唯一的

  • 你可以在多个元素中使用相同的类
  • 你可以使用多个类在一个元素中
    很多类型信息需要应用到页面中的多个对象中,这些都需要class实现,例如页面多次使用“widgets”:
    <div class="widget"></div>
    <div class="widget"></div>
    <div class="widget"></div>
    现在可用“widget”作为你的钩子,对每一个地方进行相同的类型设置。单如果需要他们中的一个变得更大,还能享有其他的属性,类可以覆盖这些,你也可以实行更多的类:
    <div class="widget"></div>
    <div class="widget big"></div>
    <div class="widget"></div>
    不需要去修改新类的名字,仅需要在新类中正确的填入属性,这里的类属性通过空格进行分隔已经被大多数浏览器支持。

ID和class对于浏览器没有默认设置

为一个元素添加一个id或者类并不会做任何默认的事情,
当我作为一个初学者的时候,这东西阻碍过我,你在一个网站工作断定使用一个特定的类名称解决了一个你现有的问题。然后又跳到另一个网站也碰到了相同的问题,并且使用相同的类名称来解决这个问题,想象这类名有一些神奇的属性,所以才发现它不工作。
class和ID他们自身没有任何风格信息。他们需要css作为他们的目标实现风格的显示。

条形码和序列号

在商店购买一个ipod,包装上有一个条形码,设备有唯一的序列号。
商店并不以有效的方式存储和使用序列号数据,使用条形码确实很简单的事情,如果价格发生变动,你可以修改条形码的价格,不会修改每个独立的序列号。
上述非常像ID和类,可重读使用的信息应该保存在类里面,总体唯一的信息需要保存在ID里面。

ID具有特殊的浏览器功能

类在浏览器中没有特殊的属性,但ID确实有一个非常重要的标注它自己的袖子。这个就是URL中的“hash value”。如有一个类似的URLhttp://yourdomain.com#comments,你的浏览器将会试图去定位ID叫做“comments”的元素,并且会自动滚动页面显示这个元素。注意这里很重要,浏览器将滚动任何元素,就是为了显示它需要显示的元素,所以如果你做一些特别类似你在body内部有一个滚动的div区域这样的事情,这个div也将被滚动。
这就是为什么id必须绝对唯一的重要原因,这样你的浏览器就知道哪里可以滚动。

元素可以两个都有

这里没有什么可以阻止你将ID和类放入一个单独的元素中,事实上它通常是一个好消息,例如默认为WordPress标注评论列表项
<li id="comment-27299" class="item">
它有一个类用于你想要的所有提交在页面上的风格,但他还有一个唯一的ID值(被WordPress动态生成的,恰到好处)。这个ID值用于直接链接,现在我能直接连接到一个页面上的特定提交。

CSS关不关心

关于css,在这里你用ID或类什么也做不了,有时候试着切换围绕在他们周围的数值来解决问题,不,css并不关心。

JavaScript关心的

JavaScript或许更多的工作是协调不同的类和ID间的关系,JavaScript依赖于每个页面中的特定元素,否则通常使用的getElementByld函数是不可靠的,对于熟悉jQuery的人来说都知道用它添加、删除页面元素中的类是多么的简单。jQuery是本地并内嵌的函数。ID中不存在这样的函数。JavaScript不负责去操纵这些值,相对于引发更多的问题来说这是值得的。

如果不需要,就不要去用

类和id非常重要,使用时应明确语义,避免下面的情况:
<a href="http://css-tricks.com" class="link">css-tricks.com</a>
我们已经知道这个元素是一个链接,他有一个锚点的元素!没有特殊的需要使用class。通过它的标签我已经提供了风格。
避免这个:
<div id="right-col">
ID适当的使用作为一个页面将类似于一个单独的列,但名称不合适。师徒描述元素的上下文不在这里或者一个ID

微格式只是特殊的类名

想象中微格式在你的head以上?他们不在那里,他们仅是标注使用标准的类名里面所包含的信息。导出一个标准的名片:
<div class="vcard">
<a class="fn org url" href="http://www.commerce.net/">CommerceNet</a>
<div class="adr">
<span class="type">Work</span>:
<div class="street-address">169 University Avenue</div>
<span class="locality">Palo Alto</span>,
<abbr class="region" title="California">CA</abbr>
<span class="postal-code">94301</span>
<div class="country-name">USA</div>
</div>
<div class="tel">
<span class="type">Work</span> +1-650-289-4040
</div>
<div class="tel">
<span class="type">Fax</span> +1-650-289-4041
</div>
<div>Email:
<span class="email">info@commerce.net</span>
</div>
</div>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容