`
Virgo_S
  • 浏览: 1153814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

7、CSS的Class以及ID选择器

    博客分类:
  • CSS
阅读更多
前面的学习我们仅仅使用HTML选择器(在HTML页面里为html标签,如 P)
现在我们学习使用clss和id定义属于自己的选择器。
这样,同样的html元素可以通过class或ID使用不同的表现。
在CSS里,使用点号(.)创建class选择器,使用hash符号(#)创建ID选择器。
例子:
#top {
    background-color: #ccc;
    padding: 1em
}

.intro {
    color: red;
    font-weight: bold;
}

html页面通过id和class属性调用CSS,像下面这样:
<div id="top">
<h1>Chocolate curry</h1>
<p class="intro">This is my recipe for making curry purely with chocolate</p>
<p class="intro">Mmm mm mmmmm</p>
</div>

  id和class的不同指出在于一个页面同一个ID只能只有一次,而class可以无限制使用。
  同样,你可以在html选择器后面使用一个选择器来指定特殊HTML元素,比如p.jam{值}将作用到带有'jam'class属性的段落。
CSS selector: class 与 ID 的区别

CSS selector:class 和 id 都可以使“单一选择符”有不同的样式

A1:二者主要的区别在哪里呢?
  id你只能用来定义单一元素,定义二个以后。页面不会出现什么问题,但是W3检测的时候认为你页面不符合标准;class是类,同一个class可以定义多个元素。就页面效果而言,两个东西的视觉效果几乎无差别。

A2:id 选择符为什么要少用,它有有什么局限性?
  单一使用的样式用id,需要程序、js动态控制的样式用id,id在页面只能使用一次!提供少用id,因为id可能和页面嵌的程序冲突(比如名称相同等)!

A3:我该在什么时候使用ID,什么时候使用class?
  单一的元素,或需要程序、JS控制的东西,需要用id定义;重复使用的元素、类别,用class定义。

相关文章:同一元素应用多个class的优先级的测试!

结构中id与class的使用原则与技巧 

  在前几日的文章中我提到过XHTML的重要性,在那篇文章中我讲了为什么说XHTML结构重要,重视XHTML结构的好处。但是那篇文章从开发的效率入手,并没有深入细节,而今天的这篇文章是讲XHTML中的细节部分的,可以说是上一篇的续述。这篇续述的主题就是ID与CLASS怎么用,在标题中有提及使用原则与技巧,这里的使用原则与技巧是我的经验总结,并非摘自哪本典籍,所以并不是什么权威论述,请各位网友在看到这篇文章时需要有主见的阅读,不要被我的妖言所迷惑。

  ID与CLASS的使用原则
  据说W3C对于ID与CLASS的设定是ID具有唯一性,CLASS具有普遍性。所以我们这里的使用原则也是依据这一特性建立的。ID是不能重复的,所以在XHTML的结构中,大结构一定是用ID。比如标志、导航、主体内容、版权。这些呢接我自己制定的规范命名为#logo , #nav , #content , #copyright 这些是雷打不动的命名。有人说布局排版用ID,配色背景用CLASS,其实这是不正确的,ID与布局排版没有直接关系,CLASS与配色也不是对等的。有人呢为了麻烦全都用ID或是全都用CLASS,全都用CLASS呢还有可理解,全都用ID就不正常了,这有悖ID唯一性。如果每个ID都不一样,那非累死不可。我通过实践总结的使用原则是:ID需要具有唯一性,并且尽量在外围使用。而CLASS具有可重复性,并且尽量在结构内部使用。这样做的好处是有利于网站代码的后期维护与修改,这样的做法就会让所有的CLASS都成为ID 的子级或是孙级。你可以有两个儿子但你能有两个爸爸吗,就是这个道理。在我们写CSS的时候可以写成这样 #father .child  {…} 尽量不要让Class包含ID,.father #child  {…}如果写成这样显得有点可笑 。当然这也不是铁定的,特殊情况需要特殊对待嘛。但是通常情况下这种形式的必要性不大。

  以上就是ID与CLASS使用原则,归总起来一句话:ID是唯一的并是父级的,CLASS是可以重复的并是子级的。
  ID与CLASS的使用技巧
  1、子级的命名的包含父命名中的部分为开头。这样方便在编写CSS时明确层次关系。
  2、CLASS中的子级最好不用ID。当然特殊情况特殊对待。
  3、CLASS的命名最好命名用大小写合用。例 .newMovie 这样的写法与第一条结合起来使用明确关系最合适。要需要注意的是IE以外的浏览器对于大小写是很敏感的。还有就是一定要以字母开头。

  其实上面讲的都是一些大家都明白的内容,只是我捡了个漏先写下来算是一个总结。希望大家对于ID与CLASS的使用提出自己的新观点新思路。一起总结出最适合也最有效率的规范来。

id与class区别 - 该用id还是用class呢

  id与class区别,我在前面的文章中已经讲过了。但还是有新手对此非常迷茫,不知道什么时候该用id,什么时候该用class。这两个选择器让新手左右为难。
  一、在web标准中是不容许重复ID的,例如 div id="a"  不容许重复2次;而class所定义的是类,理论上可以无限重复。以根据需要多次引用。
  二、属性的优先级问题:ID 的优先级要高于class,我们在下面的代码中有示例说明。
  三、方便JS等客户端脚本的引用,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单与快捷。

id与class优先级的试验
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>52css.com</title>
<style type="text/css">
<!-- 
#YourHomePage {
	color:red
	}
.YourHomePage {
	color:blue
	}
-->
</style>
</head>
<body>
<div id="YourHomePage" class="YourHomePage">
52css.com - Div+CSS XHTML XML 教程大全 <br />
52css.com - Div+CSS XHTML XML 教程大全
</div>
</body>
</html>

  解析:根据一般的CSS优先级的原则。接近的应该是优先的。class="YourHomePage"更接近于定义样式的元素。但此例中,对元素应用的样式是id所定义的样式。说明id的优先级要高于class!

同一元素应用多个class的优先级的测试http://www.52css.com/article.asp?id=40








分享到:
评论

相关推荐

    CSS选择器.pdf

    首先,元素选择符是最基本的类型,包括通配符选择器、标签选择器、id选择器和class选择器。通配符选择器用“*”表示,可以选中所有元素,常用于统一设置页面元素的外边距和内边距。但是,由于其作用域较大,使用时应...

    JQUERY选择器 id选择器<br> 2)  $('.class')  css选择器,class类名<br>

    #id') id选择器 2) $('.class') css选择器,class类名 3) $('element') 标签选择器,例如p,h1,div 4) $('*') 全选择器,可选择所有的html标签(影响范围较大甚用) 5) $('sele1,sele2') 用...

    前端必须掌握的css选择器方法

    下面是前端开发中经常使用的 30 个 CSS3 选择器,包括通用元素选择器、ID 选择器、类选择器、标签选择器、伪类选择器、毗邻元素选择器、子元素选择器、属性选择器等。 1. 通用元素选择器 * 通用元素选择器*是选择...

    CSS中CLASS和ID的区别.doc

    首先,从语法上看,`id`和`class`的选择器在CSS文件中以不同的符号表示。`id`选择器使用井号`#`作为前缀,如`#exampleId`,而`class`选择器则使用点`.`作为前缀,如`.exampleClass`。 其次,`id`和`class`在页面中...

    css样式优先选择器

    ID选择器(如`#id3`)的优先级高于类选择器(如`.class3`),而类选择器又高于标签选择器(如`span`)。这是因为它们在CSS中的权重不同,ID选择器权重为100,类选择器为10,标签选择器为1。在这个原则下,如果有冲突...

    30个最常用css选择器解析

    选择器分为五种基本类型:标签选择器、class选择器、ID选择器、后代选择器和伪类选择器。 1. 星状选择符(*) 星状选择符(*)是CSS选择器中最简单的一种,作用于所有元素。例如:`* { margin: 0; padding: 0; }`...

    CSS3选择器教辅.pdf

    1. 类选择器和ID选择器: - 类选择器(.class):用于选取具有特定class属性的元素。例如,使用“.intro”可以选择class为“intro”的所有元素。 - ID选择器(#id):用于选取具有特定id属性的元素。例如,使用“#...

    树使用css选择器优化代码(IE7+,firefox3,opera9,chrom下可用)

    CSS选择器分为多个级别,从基础的ID选择器(#id)、类选择器(.class)、元素选择器(element)到更复杂的后代选择器(element element)、子代选择器(element &gt; element)、属性选择器[element[attr]]、伪类选择器(:hover, :...

    HTML5&CSS3网页制作:CSS基础选择器.pptx

    2. **ID选择器**:ID选择器使用`#`前缀,允许你为HTML文档中的唯一元素指定样式。ID是唯一的,因此每个页面中只能使用一次。例如,以下代码将给ID为"mytitle"的元素添加绿色虚线边框: ```css #mytitle { border:...

    哎。。。。作过试验。。css选择器.

    ID选择器的样式不会与其他元素冲突,因为ID在文档中应是唯一的。例如,设置ID为`header`的元素文本颜色为红色: ```css #header { color: #f00; } ``` 5. **属性选择器**: - 简单属性选择器:选择具有特定...

    css选择器的应用

    ID选择器使用`#`前缀加上ID名称表示,用于选择具有特定ID的单个元素。ID在每个文档中应该是唯一的。例如: ```css #a1 { font-weight: bold; } ``` 如果HTML中有`&lt;div id="a1"&gt;...&lt;/div&gt;`,则该`div`标签内的文字将...

    详解CSS选择器HTML标签

    本文将深入探讨CSS选择器的几个主要类型,包括HTML标签选择器、类别(Class)选择器、专用ID选择器、选择器组合筛选、选择器集体声明、选择器的嵌套、子选择器以及属性选择器。 1. **HTML标签选择器**:这是一种最...

    python爬虫之css选择器

    - **ID选择器**:`#id` 示例:`#firstname` 描述:选择所有id属性为"firstname"的元素。 - **通用选择器**:`*` 示例:`*` 描述:选择页面上的所有元素。 - **类型选择器**:`element` 示例:`p` 描述:...

    一种可视化的方式来分析选择器在CSS中的特殊性

    1. **ID选择器**(#id):每个ID选择器赋予100个单位。 2. **类选择器、属性选择器和伪类**(.class, [attr], :pseudo-class):每个这类选择器赋予10个单位。 3. **标签选择器和伪元素**(element, :pseudo-element...

    CSS3选择器总结CSS3选择器总结

    CSS选择器可以分为多种类型,包括id选择器、类选择器、标签选择器、交叉选择器、群组选择器、后代选择器和通用选择器。 - id选择器:通过元素的id属性来选择特定元素,使用#符号加上id名作为选择器(如#idname)。 ...

    CSS选择器详细介绍

    常用选择器是 CSS 选择器中最基本的选择器,包括三种类型:ID 选择器、类选择器和标签选择器。 * ID 选择器:根据元素的 ID 来选择元素,例如 `#demoDiv{color:#FF0000;}`。在 HTML 中,元素可以定义一个 ID 属性,...

    css+jquery选择器大全

    3. ID选择器(ID selector):通过ID来选择,如`#firstname`选择所有id属性为"firstname"的元素。 4. 通用选择器(Universal selector):用`*`表示,选择所有元素。 5. 层次选择器:包括子元素选择器(`&gt;`)、相邻...

    web开发——CSS属性选择器.docx

    CSS 属性选择器是一种选择器,它可以根据 HTML 元素的属性和值来设置样式,而不仅限于 class 和 id 属性。这使得开发者可以更灵活地设置样式,并且可以减少 HTML 代码中的冗余。 属性选择器的基本语法 属性选择器...

Global site tag (gtag.js) - Google Analytics