`
Virgo_S
  • 浏览: 1138475 次
  • 性别: 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








分享到:
评论

相关推荐

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

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

    CSS3样式表-选择器.pptx

    id选择器 类选择器 标签选择器 全局选择器 群组选择器 后代选择器 伪类选择器 …… 2 标签选择器,也称为元素选择器,可以为现有的HTML标签指定样式规则。 标签选择器 定义标签选择器的语法格式 使用标签选择器的...

    HTML5&CSS3网页制作:属性选择器.pptx

    使用选择器可以方便的定位于指定的元素,而不用使用额外的class或id,通过这种方式也可以让我们的代码和样式更加简洁、灵活、易控制。;属性选择器;属性选择器;E[att^=value]属性选择器;E[att^=value]属性选择器;E...

    该不该使用ID选择器?浅谈对CSS的ID选择器的使用建议

    关于ID选择器和class选择器不同,这里使用#class的值不同标签可以发生重复。但是id不允许!!!id选择器不能结合使用id属性通常和js配合使用 CSS Code复制内容到剪贴板 #label { background-color: red; }  ...

    CSS选择器

    ID选择器 选择指定ID属性值为“id”的任意类型的元素 .class 类选择器 选择指定的class属性值为“class”的任意类型的任意多元素 selector1,selector2 群组选择器 将每一个选择器匹配的元素集合并 * { /* 通...

    CSS Id 和 Class

    HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 “#” 来定义。 以下的样式规则应用于元素属性 id=”para1″: 实例 #para1 { text-align:center; color:red; }   ID属性不要以数字开头,数字开头的ID在 ...

    css选择器apolo

    * css选择器 * 冒泡原理 * 如果后面的表达式无效,只返回有效表达式匹配的结果 * author chenyipeng * e-mail: yia0223@gmail.com * ps: 如有bug请多多包涵 * 参考: jquery css选择器 * 目前实现 * #id ...

    老生常谈jquery id选择器和class选择器的区别

    实例如下: &lt;!...&lt;...link href="style.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css"/&gt; [removed][removed] &lt;script type="text/javascript

    详细了解CSS中的class与id区别及用法

    对学习CSS的新手来说class和id可能比较模糊,同时不知道什么时候该用class,什么时候又用id,以及它们用法与限制是怎么样的。接下来我们就来详细了解CLASS与ID基本属性及用法。 Class 在程序中称“类”,同时在CSS...

    你不可不知的CSS选择器

    一、五大基本选择符 ...2. #X(ID)#+id名,这是日常常用的css选择器,用于匹配id为XXX的元素,id选择器的优势是精准,高优先级(优先级基数为100,远高于class的10),作为javascript脚本钩子的不二选择,

    使用HTML开发商业网站-CSS3选择器课件.pptx

    id选择器(id与#idname) class选择器(class与.classname) 虚类选择器 a:link a:visited a:hover a:active (LoVeHAte) 分组选择器 HTML标记符选择器&分组 id选择器 #container { width: 46em; margin: 0 auto; ...

    css串联选择器和后代选择器使用方法

    串联选择器:作用在同一个标签上 复制代码代码如下:&lt;div class=”a” id =”qq”&gt;&lt;span&gt;look at the color&lt;/span&gt;&lt;/div&gt; &lt;p&gt;css: #qq.a{….}   后代选择器:作用在不同标签上 复制代码代码如下:&lt;div id =”qq”&gt;...

    微信小程序 CSS 选择器::after和::before的简单使用

    前两天看文档看到选择器那块儿的时候,前面4个基本都能理解:.class,#id,element,element, element,但后面两个::after和::before(文档中说,分别表示在view 组件的后面和前面插入内容),表示有点没有理解。...

    详解CSS3选择器的使用方法汇总

    3 E#myid是id选择符(CSS1):以唯一标识符id属性等于myid的E对象作为选择符。4 E.myclass是类class选择符(CSS1):以class属性包含myclass的E对象作为选择符。5 E F:包含选择符(CSS1):选择所有被E元素包含的F...

    CSS中选择器的权重值的计算

    CSS 选择器权重值 CSS 具有自己的优先级计算方法,而不仅仅是行间&gt;内部&gt;外部、ID&gt;class&gt;元素 1. 样式类型 行间样式 我的行间CSS样式。 内联样式 &lt;style type="text/css"&gt; h1{font-size:12px; color:#000; ...

    css介绍快速学习

    c)id选择器。 每一个标签都定义了class属性和id属性。用于对标签进行标识,方便对标签进行操作。 在定义的中,多个标签的class属性值可以相同,而id值要唯一,因为JavaScript中经常用。 8.class选择器: 在标签中...

    CSS选择器种类及及其使用介绍

    3.ID选择器(如:id="name",id="name_txt") 4.全局选择器(如:*号) 5.组合选择器(如:.head .head_logo,注意两选择器用空格键分开) 6.继承选择器(如:div p,注意两选择器用空格键分开) 7.伪类选择器(如...

    css id选择器使用_动力节点Java学院整理

    CSS ID 选择器 在某些方面,ID 选择器类似于类选择器,不过也有一些重要差别。 语法 首先,ID 选择器前面有一个 # 号 – 也称为棋盘号或井号。请看下面的规则: *#intro {font-weight:bold;} 与类选择器一样,ID ...

    学习笔记13:id与clas的区别 (id选择器和类选择器)

    2、id选择器好比人的身份证号码,是唯一的,只能调用一次,不得重复 3、id选择器和类选择器最大的不同在于使用次数上 4、类选择器在开发中使用的最多,id选择器一般用于页面上唯一性的元素,经常和js搭配使用 ...

    你必须记住的30个CSS选择器.html

    当你了解了id,class和后代选择器,就万事大吉了?如果是这样,那你就错失了大量灵活的方法。虽然本文中提到的有许多是css3的特性,因此这些特性只能在较先进的浏览器中才能体现,但是它们值得你记住。

Global site tag (gtag.js) - Google Analytics