关于css编写

最近一直在做Css Lab,也一直在思考关于页面设计的技术问题,以前对Html+css+js的认识很片面,很多不知道,都是因为没有好好的去研究,去分析,去编写测试,今天主要说下关于Css编写的问题,希望大家多多留言,我是抛砖引玉。

  Css和其他程序一样,都是有作用域这个概念,有全局、类局部作用这些方式。

  举个例子:

    p{background:#f00;}/* 作用域 :全局 */

    .div p{color:#000;}/* 作用域:div类中*/ 

  介绍下Css几种编写方式和权重对比

  1)标签:权值为0,0,0,1

  2)类:权值为0,0,1,0

  3)属性选择:权值为0,1,0,1

  4)ID:权值为1,0,0,0

  5)important的权值为最高1,0,0,0,0

  提示: 大家可以手动编写几个例子,去发现规律,欢迎跟帖。

  通常编写Css的时候,我们会遇到什么样的问题?下面是我总结的一些内容:

  1、命名规则 

  相信大家在编写Css的时候,当项目比较大,内容比较多的时候,命名就是一件很头痛的事情,而且一个块里面要表现不同状态的样式 ,这是有掌握命名规则是一把利器,能让你工作起来事半功倍。大致如下:(转载自:http://www.cssforest.org/blog/index.php?id=143,大家可以去这里看,比较多的技术文章)

  要避免当状态改变时名称失去意义,最常见的就是用于布局的类名,如“left”、“right”,当左边栏不再是左边栏的时候,“left”这个名就没有实际意义了。这与我们所推荐的“命名要有意义”就相违背了,使用序号就更加有问题了。好像没错,不过有好长一段 时间都有个问题让我很烦恼,如果一个页面中同个模块出现一次以上,而且细节还不一样,那后面出现的名称应该叫什么呢?难道“one”、“two”就不是序 号?其实我们要避免遇到的情况就是当状态(表现)改变时,对应定义的类名不会失去意义。

  所谓的状态(表现)改变,有几种情况:

  1. HTML不变,样式定义改变。如果命名使用了表示某一状态的名称,如“red“、“font14“等,必定会引起定义与命名不符的情况,对后继的影响会造成比较大的影响。
  2. 样式定义不变,HTML改变。HTML改变意味着类名可更换,也就是如果类名使用了表示某一状态的名称,反而更有利于修改。
  3. 样式定义与HTML都改变。只需要考虑不要出现第一种情况的结果就可以了。

  而实际情况并不是单纯的某一种情况,更多的时候是混杂着出现的。

  规则

  [ 模块前缀 ] _ 类型 _ ( 作用 | 状态 ) n _ [ 位置 n ]

  图例说明:

  • ( 必选 ):必需存在。
  • [ 可选 ]:可根据需要选择。
  • |:多选一。
  • n:可有多个。

  名词说明:

  模块前缀
模块定义时使用的前缀。
  类型
定义类的内容类型。如输入框、文本、段落等等。
  作用
定义类的作用,用于对类型的补充。
  状态
定义类的状态,用于对类型的补充。
  位置
定义类所使用的位置,如首页、导航等等,不排除使用左、右这样的词,但应尽量避免。
  • 每项都可有自己的一个缩写表,同一名称的缩写尽量统一。
  • 所选用的单词应选择不过于具体表示某一状态(如颜色、大小等)的单词,以避免当状态改变时名称失去意义。
  • 由不以数字开头的小写字母(a-z)、数字(0-9)组成。
  • 确保类(.class)的重用性与对象(#id)的唯一性,id避免使用保留字。

  例:

  模块前缀:

  • 弹出 pop
  • 公共 global,gb
  • 标题 title,tit
  • 提示 hint
  • 菜单 menu
  • 信息 info
  • 预览 pvw
  • Tips tips
  • 导航 nav

  类型:

  • 按钮 bt
  • 文本 tx
  • 段落 p
  • 图标 icon
  • input input
  • 颜色 color,c
  • 背景 bg
  • 边框 bor

  作用:

  • 设置 set
  • 添加 add
  • 删除 del
  • 操作 op
  • 密码 pw
  • 导入 inc

  状态:

  • 成功 suc
  • 失败 lost
  • 透明 tran

  位置:

  • 公共 gb
  • 边框 bor
  • 段落 p
  • 弹出 pop
  • 标题 title,tit
  • 菜单 menu
  • 内容 cont
  • 导航 nav
原文地址:https://www.cnblogs.com/wg-666/p/4886370.html