前面两篇文章我们分别谈到了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. python环境搭建-Linux系统下python2.7升级python3.5.2步骤

    首先Python 查看版本 , 在Linux下特别注意权限问题,创建目录时候切记给予权限 如果是 ubnutu 请使用首先切换到 sudo su , 否则 make install 会出现问题.. 升 ...

  2. 小波分解和合成的simulink仿真

    采用5-3提升小波的方法 小波分解 数据拆分 预测 更新 数据输出使能电路 电路共有两个输入三个输出,in1是数据输入,in2是输入数据有效信号,out1是更新后的低频信号,out2是预测的高频信号, ...

  3. ballerina 学习十 streams

    ballerina 的streams 使用的是siddhi complex event processing 引擎处理,可以包含的语法有 projection filtering windows jo ...

  4. 基于jquery 的ajax 文件下载

    ajax 文件下载,实际上就是模拟表单提交,代码如下: function download(url, data, method){ //url and data options required if ...

  5. 笔记:加密 RSA AES

    笔记:加密 RSA AES RSA 是非对称加密,有公钥和私钥. RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_par ...

  6. Spring RESTful之@ModelAttribute

    @ModelAttribute有俩个位置,一个是在方法体中,下面这个demo的用意就是每次controller@RequestMapping方法被调用之前都会走这个方法,并向Model中(@Reque ...

  7. (转)winform安装项目、安装包的制作、部署

    本文转载自:http://zhan.renren.com/cxymst?gid=3602888498037535727&from=post&checked=true 1,解决方案—添加 ...

  8. 01:Sysbench 基准压测 IO篇

    line:V1.1 mail: gczheng@139.com date: 2017-11-17 一.Sysench测试前准备 1.1.压测环境 配置 信息 主机 Dell PowerEdge R73 ...

  9. nginx 反向代理与负载均衡应用实践

    集群介绍 集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器.这些服务器之间可以彼此通信,协同向 ...

  10. 十六 在沉睡中停止(在sleep() 状态下停止线程)

    1 如果线程在sleep()状态下停止线程,会是什么效果? 答案: 如果在sleep状态下停止某一线程,会进入sleep的catch块中, 抛出InterruptedException 异常,并且清除 ...