前面两篇文章我们分别谈到了class和id的相关知识和如何使用,但是在实际项目中,我们该如何抉择,class还是id?

先回顾下两者的区别吧!

1.id具有唯一性,class具有普遍性,所以一个页面同一个id只能使用一次,而class可以被无限制使用。

2.id的优先级要高于class的!如下面列子:

  1. <html>
  2. #p1{color:red}
  3. .p2{color:green}
  4. <p id="p1" class="p2">这是一个段落</p>
  5. </html>

上面是一个示例,p元素中的文字是红色而不是绿色,因为id的优先级高于class的。

其实id和class用法挺简单的,但是要写出优雅的css代码,那也是要注意一些东西的。现在自己做的项目采用敏捷模式,多个人合作开发,
最痛苦的就是整个html文档中id和class满天飞,维护起来那叫一个坑啊!最近看到有个人关于使用id和class的心得,我觉得不错,摘要如下:

css只用class来写并有专门的class通用和私有模块命名,id具有唯一性且优先级太高只作为js操作dom的挂钩全部不添加样式,如果使用jq或zepto的话,
操作的class类名一般也不加样式,这部分的class命名和id一样由js来制定。这样做比较适合大型,多人维护并且需要长期迭代的项目,
css的class类名和js操作的id、class类完全分离,这样产品的ui或者产品交互逻辑变动二者互不影响,易维护。

总结一句话:js尽量操作id,class尽量操作css!

当然这个还的自己去实践啊!本人适合也只是针对目前做的项目而已!今天的总结就到这里,不足之处还请指正。

css常用属性总结之 id和class的区别,使用类还是ID?的更多相关文章

  1. 好程序员web前端分享css常用属性缩写

    好程序员web前端分享css常用属性缩写,使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则如下: 颜色 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: #0000 ...

  2. 1+x证书学习日志——css常用属性

     ## css常用属性:             1:文本属性:                 文本大小:  font-size:18px;                 文本颜色    colo ...

  3. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  4. 02: css常用属性

    目录: 1.1 设置样式的七个选择器 1.2 css常见属性浅析 1.3 css布局中常用方法 1.1 设置样式的七个选择器返回顶部 1.其中选择器介绍 1. 直接在标签里的style标签写样式 2. ...

  5. CSS常用属性-xy

    一.文本Text CSS text-align 属性 文本对齐方式 CSS text-decoration 属性 text-decoration 属性规定添加到文本的修饰 CSS line-heigh ...

  6. css常用属性总结第二弹:id选择器

    承接上一篇class选择器,这一篇我们来说说css的id选择器. id选择器类似于类选择器,不过也有一些重要的差别,首先,id选择器前面有一个#号----称它为棋牌号吧,class为点号,用法就和cl ...

  7. css常用属性初总结第一弹:id和class选择器

    前言:这是我第二次写博客,记录自己所学的点点滴滴,希望大家一起共勉! 说到选择器大家都不陌生,估计用的最多的还是id选择器和类选择器,至于其他的选择器,今天在这里我避而不谈. 类选择器:将html元素 ...

  8. css常用属性汇总

    一.常用css属性 (1) *block(区块) 行高 line-height:数值 | inherit | normal; 字间距 letter-spacing: 数值 | inherit | no ...

  9. css常用属性1

    1  背景相关 背景颜色 background-color     = 颜色名称/rgb值/十六进制值 背景图片 background-image = url('') 背景图片平铺方式 backgro ...

随机推荐

  1. vue 中import和export如何一起使用(一)

    前段时间碰到一个问题,vue js中要使用import来加载第三方的js,但是后面使用exports.XXX的话会报exports is not defined.那要怎么解决呢? 首先,我们要了解ES ...

  2. java 短链接生成

    package shorurl; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang. ...

  3. as3 阻止后续侦听器

    public class Test1 extends Sprite { private var spr:Sprite; private var spr2:Sprite; public function ...

  4. [LeetCode系列] 二叉树最大深度求解问题(C++递归解法)

    问: 给定二叉树, 如何计算二叉树最大深度? 算法描述如下: 如果当前节点为空, 返回0(代表此节点下方最大节点数为0) 如果当前节点不为空, 返回(其左子树和右子树下方最大节点数中的最大值+1) 上 ...

  5. ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程

    1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rma ...

  6. Qt学习之秒表的实现(StopWatch) (转)

    秒表对于我来说并不陌生,在之前自己学习单片机时,实现过秒表和数字钟:基本思路:开启单片机带的定时器,并设置它没10ms溢出一次,分别用三个变量hour,minute,secong记录秒表的时分秒,然后 ...

  7. Hadoop的简单序列化框架

    Hadoop提供了一个加单的序列化框架API,用于集成各种序列化实现.该框架由Serialization实现. 其中Serialization是一个接口,使用抽象工厂的设计模式,提供了一系列和序列化相 ...

  8. xunsearch开发流程(三)

    (一).编写项目配置文件 通过创建一个项目文件来创建一个新的项目cd /data/local/xunsearch/sdk/php/apptouch njw.ini文件内容如下 project.name ...

  9. opencv读取中文路径报错的问题

    ) ## 经验证,不需要再转bgr,myImread的读图结果已经是和imread一样的 return img

  10. Account银行账户

    package com.hanqi; //账户类 public class Account { String ZhangHao; double CunKuanYuE; Account(String Z ...