CSS综合

说一说你平时写代码遵守的编码规范

  1. 语法
  • 用两个空格来代替制表符tab--唯一能保证在所有环境下获得一致展现的方法
  • 为选择器分组时,将单独的选择器单独放在一行
  • 为了代码的易读性,在每个声明块的左花括号前添加一个空格
  • 声明块的右花括号应当单独成行
  • 每条声明语句的冒号后应插入一个空格
  • 为了获得更准确的错误报告,每条声明语句都应该独占一行
  • 所有声明语句都应当以分号结尾
  • 对于以逗号分隔的属性值,每个逗号后都应该插入一个空格
  • 不要在rgb(),rgba(),hsl(),hsla(),rect()值得内部的逗号后插入空格,这样利于从多个属性值中区分多个颜色值
  • 对于属性值或颜色参数,省略小于1的小数前面的0(.5代替0.5)
  • 十六进制值应该全部小写
  • 尽量使用简写形式的十六进制值(#fff代替#ffffff)
  • 为选择器中的属性添加双引号(input[type="text"])
  • 属性值为0不用指定单位
  1. 声明顺序
    相关的属性声明应该归为一组,按下列顺序排列:1.Position 2.Box model 3.typographic 4.Visual;由于定位可以从正常的文档流中移除元素,并且还能覆盖盒模型相关的样式,因此排在首位;盒模型排在第二,因为它决定了组件的尺寸和位置;其他属性只是影响组件的内部,或是不影响前两组属性,因此排在后面
  2. 不要使用@import
    与<link>标签相比,@improt指令要慢很多,不光增加了额外的请求次数,还会导致不可预料的问题,替代办法:
  • 使用多个<link>元素
  • 通过Sass或Less类似的CSS预处理器将多个CSS文件编译为一个文件
  • 通过Rails,Jekyll或其他 系统中提供过CSS文件合并功能
  1. class命名
  • class名称中只能出现小写字符和破折号(不是下划线也不是驼峰命名法);破折号应该用于相关class的命名
  • 避免过度任意的简写。.btn 代表 button,但是 .s 不能表达任何意思。
  • class名称应当尽可能短,并且意义明确
  • 使用有意义的名称,使用有组织的或目的明确的名称,不要使用表现形式的名称
  • 基于最近的父class或基本class作为新class的前缀
  • 使用.js-* class 来标识行为(与样式相对),并且不要将这些 class 包含到 CSS 文件中。
  1. 选择器
  • 对于通用元素使用class,这样利于渲染性能的优化
  • 对于经常出现的组件,避免使用属性选择器;浏览器的性能会受到这些因素的影响
  • 选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不超过3个
  • 只有在必要的时候才将class限制在最近的父元素内(后代选择器)

垂直居中有几种实现方式,给出代码范例

  1. 设置上下padding相等,适用于容器高度不限制的情况代码
  2. 绝对定位,适用于弹窗 代码
  3. 当弹窗宽高不固定时绝对定位法(translate相对于自身移动) 代码
  4. vertical-align居中;vertical-align作用于行内元素和表格 代码
  5. tables-cell实现居中,改变了display的表现方式代码

tooltips

代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • 1. 说一说你平时写代码遵守的编码规范 - 语法 1.用两个空格来代替制表符(tab), 这是唯一能保证在所有环境...
    _李祺阅读 216评论 0 0
  • HTML、CSS的一些编码规范 HTML:用两个空格表示缩进。嵌套元素应当缩进一次。对于属性的定义,确保全部使用双...
    liushaung阅读 323评论 0 2
  • IOS NSTimer 定时器用法总结 - 珲少 的个人空间 - 开源中国社区
    然亦伞阅读 132评论 0 0
  • 人们经常会被现在忙碌的生活带动,跟着生活的脚步有所目的的生活着。 当人们慢慢的静下来时,经常会想:如果时光倒流,我...
    troublemak阅读 182评论 0 0