我一直认为专业是一种态度。不同于业余,专业代表无论技术高低都会遵守一定的规范,专业代表对某一领域不断的精益求精。专业就是比业余逼格高。

习惯书写规范

css 属性声明的顺序:Positioning(定位)---Box model(盒子模型)---Typographic(文字系列)--Visual(背景颜色)--其他(例animation)

 .declaration-order {
/* Positioning */
position: absolute;
top:;
right:;
bottom:;
left:;
z-index:; /* Box model */
display: block;
box-sizing: border-box;
width: 100px;
height: 100px;
padding: 10px;
border: 1px solid #e5e5e5;
border-radius: 3px;
margin: 10px;
float: right;
overflow: hidden; /* Typographic */
font: normal 13px "Helvetica Neue", sans-serif;
line-height: 1.5;
text-align: center; /* Visual */
background-color: #f5f5f5;
color: #fff;
opacity: .8; /* Other */
cursor: pointer;
}

参考示例

选择器分组时,保持独立选择器独占一行;

声明左括号{前加一个空格;

声明右括号}要单独成行;

声明中的:后要加一个空格;

声明语句应以;结尾;

一般以逗号分隔的属性值,每个逗号后应添加一个空格;

 .selector,
.selector-secondary,
.selector[type="text"] {
padding: 15px;
margin-bottom: 15px;
background-color: rgba(0,0,0,.5);
box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff;
}

参考示例

css尽量缩写。比如font、margin;

去掉前面的0.比如font-size:.8em;

16进制的颜色代码尽量缩写;

链接的设置顺序:a:link -> a:visited -> a:hover -> a:active;

语义化命名class或id;

避免嵌套过多,尽量不要超过3级;

避免用id和class叠加使用;

使用连字符 - 作为ID、Class名称界定符,不要驼峰命名法和下划线;(这条我非常排斥,复制粘贴很不方便的。另外一些坑也是出现在ie6那代版本浏览器,过去这么久了 这条应该可以作废了)

移动端经常会用到媒体查询@media (max-width: 768px),媒体定义的属性要放到附近,避免修改时遗漏。

注释的写法:

/* Header */
内容区
/* End Header */

专业的负责

/*
@name: 文件的名称
@description: 简要的描述这个css 文件功能
@require: 依赖文件,没有就不用写
@author: 作者 最好附带联系方式(邮箱)
*/

  

性能书写规范

js动画时,尽量使用requestAnimationFrame,避免使用setTimeout,setInterval。

避免通过类似 jQuery animate()-style 改变每帧的样式,使用 CSS 声明动画会得到更好的浏览器优化。

使用 translate 取代 absolute 定位就会得到更好的 fps,动画会更顺滑。

尽量不要用float,渲染计算量大。

浏览器读css时,是从右像左读的,所以下面可以少许的提升浏览器渲染速度。

使用继承

 /* Not recommended */
#bookmarkMenuItem > .menu-left { list-style-image: url(blah) }
/* Recommended */
#bookmarkMenuItem { list-style-image: url(blah) }

避免使用通用选择器。

.content * {color: red;}

避免使用标签或 class 选择器限制 id 选择器。

避免使用标签限制 class 选择器。

button#backButton {…}
button.backButton {…}

避免使用多层标签选择器。使用 class 选择器替换,减少 css 查找

treeitem[mailfolder="true"] > treerow > treecell {…}

工作我们是专业的之css规范的更多相关文章

  1. NEC css规范

    CSS规范 - 分类方法 SS文件的分类和引用顺序 通常,一个项目我们只引用一个CSS,但是对于较大的项目,我们需要把CSS文件进行分类. 我们按照CSS的性质和用途,将CSS文件分成“公共型样式”. ...

  2. 前端开发人员要注意的css规范,css命名。

    刚工作的时候也没注意关于css的规则,根据自己的心情想怎么用就怎么用,完成工作就好不会考虑代码的可读性,加载的性能,现在身为前端的一员就要有程序员的自我修养(嘿嘿,是不是很有责任感啊). 废话不多说, ...

  3. Scoped CSS规范草案

    原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/Scoped-CSS 写在前面 问:什么是Scoped CSS规范? Scoped CSS规范是We ...

  4. Atitit.css 规范 bem  项目中 CSS 的组织和管理

    Atitit.css 规范 bem  项目中 CSS 的组织和管理 1. 什么是BEM?1 1.1. 块(Block)2 1.2. 元素(Element)2 1.3. BEM树(和DOM树类似).3 ...

  5. 前端CSS规范整理_转载、、、

    一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用U ...

  6. 瞬间从IT屌丝变大神——CSS规范

    CSS规范主要包括以下内容: CSS Reset用YUI的CSS Reset. CSS采用CSSReset+common.css+app.css的形式. app.css采用分工制,一个前端工程师负责一 ...

  7. [转]前端CSS规范整理

    一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core  通用 ...

  8. 新手不得不注意HTML CSS 规范

    作为一名新进的程序菜鸟,根本不知道从哪里开始学起好,前辈都说HTML CSS 规范是一个十分需要注意的点,要我记下,特地转来保存一下,大家相互学习 //总论 本规范既然一个开发规范,也是一个脚本语言参 ...

  9. 前端CSS规范大全

    一.文件规范 1.文件均归档至约定的目录中(具体要求以豆瓣的CSS规范为例进行讲解): 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用 ...

随机推荐

  1. GDI+_从Bitmap里得到的Color数组值分解

    [这里写只是我个人的摸索经历,已经给出解决方案] 我之前写过一篇关于ARGB值的研究:https://www.cnblogs.com/lingqingxue/p/10362639.html 最近我又遇 ...

  2. spring @Autowired与@Resource的区别

    1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...

  3. 常用Macro

    [enable_if] SFINAE是英文Substitution failure is not an error的缩写. 这句话什么意思呢?当调用模板函数时编译器会根据传入参数推导最合适的模板函数, ...

  4. 寻找遗失的tags

    现象:查询数据库,存在tags:{} 的字段,但是api查询时,不存在tags字段 日志定位Sample的init方法中对resource_metadata的扁平处理: 3.对应方法分析 在ceilo ...

  5. 浅析MVC模式与三层架构的区别

    浅析MVC模式与三层架构的区别 三层架构和MVC是有明显区别的,MVC应该是表现模式(三个加起来以后才是三层架构中的UI层).三层架构(3-tier application) 通常意义上的三层架构就是 ...

  6. 2018-2019-2 20175126谢文航 实验二《Java面向对象程序设计》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1751 班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间:--- 实验序号:实验二 实验名称:Ja ...

  7. jQuery index() 方法

    比如同一级有多个li,获得点击的元素的下标,确定第几个. $("li").click(function(){alert($(this).index());});

  8. 浅谈spring为什么推荐使用构造器注入

    转载自: https://www.cnblogs.com/joemsu/p/7688307.html 一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversi ...

  9. H5端密码控件自动化测试

    最近在做H5端UI自动化测试,其中遇到了一个棘手问题就是密码控件,因为密码控件的按钮每次都是随机不一样的,没法固定去点击输入密码.密码的输入框是div不是input,所以没法用send_keys()这 ...

  10. netty服务器端启动

    package com.imooc.netty.ch3; import com.imooc.netty.ch6.AuthHandler; import io.netty.bootstrap.Serve ...