细说CSS中class与id的区别和用法

2017年08月02日 14:20:34益点益滴2802

我们平常在用DIV CSS制作html网页页面时,常会用到class和id来选择调用CSS样式属性。对学习CSS的新手来说class和id可能比较模糊,根本不知道什么时候该用class,什么时候用id,下面我们就来详细了解下它们的具体用法和使用限制禁忌。

Class在程序中称为“类”,而在CSS中很巧合的也叫“类”。在CSS样式中以半角小数点“.”来命名,如: .ywk{属性:属性值;},而在html页面里则以class="ywk" 来选择调用,命名好的CSS又叫css选择器。如: .ywk{属性:属性值;} 选择器在html调用为“<div class="ywk">我是class例子</div> ”。

而且class(类)在同一个html网页页面可以无数次的调用相同的class类,在这里例子里则可以在对应的网页里可以无数次调用选择“ywk”。这也说明class一般是用来调用css中的预配制属性的,比如说有一个预配制属性为如这里的“.class01{属性:属性值;} ”,这样就可以像调用函数一样不用再一个网页页面里重复的配置一个“类”属性,而只需要写上一个class类选择,就可以在同一个页面里任何位置调用选择具有相同的CLASS类。

ID是表示着标签的身份,在JS脚本中会用到id,当JS要修改一个标签的属性时,JS会将id名作为该标签的唯一标识进行操作。也就是说ID只是页面元素的标识,供其他元素脚本等引用。假如你的页面里出现了两个ID那JS效果特性较出现逻辑错误不知道依据哪个ID来改变其标签属性。 在CSS里的ID不一定为JS而设置的,但是同样ID在页面里也只能出现一次,并且是唯一性。虽然有些DIV+CSS初学者在一个页面里同时调用相同的ID多次但是仍然没有出现页面混乱错误,但是为了W3C及各个标准我们也要遵循ID在一个页面里唯一性,以免出现浏览器兼容问题。

Div css 页面中ID的用法:
通常我们在CSS样式定义的时候 以“#”来开头命名id名称如:#ywk{属性:属性值;} 这个也有点像class的定义,只是class是以小写句号“.”开头命名,而ID是以“#”号开头定义。那id是怎么个用法呢? Css里的ID用法与class用法一样,只是把class换成id,而且id具有唯一性,同一个页面中不能重复用。例子:在CSS样式定义ID --- #ywk{height:25px;width: 200px;} ,调用ID --- <div id="ywk">我是ID例子</div>。另一方面,因为id相对于class具有更高优先级,会被浏览器优先渲染,所以对于某些只可能在页面中出现一次的区域性元素,如网页通用头尾部,就可以考虑使用id定义样式,否则除非JS应用需要,我们一般不推荐使用id定义样式。

下面是一个完整的CLASS和ID应用实例:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>DIV CSS中CLASS与ID实例</title> 
<style> 
.ywk{width:100px;height:100px;border:1px solid #000;float:left;} 
.ywk_class{background:#FFF;} /* 背景白色 */ 
#ywk_id{background:#FF0000;} /* 背景红色 */ 
</style> 
</head> 
<body> 
<div class="ywk ywk_class">我在浏览器下浏览,内容背景将是白色</div>  
<div class="ywk" id="ywk_id">我在浏览器下浏览,内容背景将是红色</div>  
</body> 
</html>

现在来我们分析一下以上实例:class="ywk ywk_class" 怎么是这样的?这里是指同时调用了class类ywk与ywk_class,类支持同时调用多个。而class="ywk" id="ywk_id" 这里则代表分别调用了class类 :ywk和id :ywk_id,需要注意的是,不管class="ywk"和id="ywk_id"在HTML标签中的书写顺序如何,id中定义的样式优先级都将高于class 。

最后值得一提的是:在命名id和class类的时候特别要注意大小写,ID和class是对大小写非常敏感的,可以是单纯的英文字母,也可是字母与数字结合,但最好是以英文字母开头,中间可以含有半角减号和下划线,不能用中文和特殊字符命名CSS类名。尽管很多数时候你用了不规范的写法也能正常显示,但这绝不是一个好习惯,而且一旦换为标准而苛刻的环境,你写的东西可能会立即变得面目全非。

超赞,真给力!嗯,必须鼓励~

打赏0
账号:mxy310@163.com[复制]
账号:77940140[复制]