前端(HTML/CSS/JS)-CSS编码规范

1. 文件名规范

文件名建议用小写字母加中横线的方式。为什么呢?因为这样可读性比较强,看起来比较清爽

https://stackoverflow.com/questions/25704650/disable-blue-highlight-when-touch-press-object-with-cursorpointer

那为什么变量名不用小写字母加小划线的方式

family_tree

因为下划线比较难敲(shift + -),所以一般用驼峰式命名变量的居多。

引入CSS文件的link可以不用带type="text/css"

<link rel="stylesheet" href="test.css">

因为link里面最重要的是rel这个属性,可以不要type,但是不能没有rel。

JS也是同样道理,可以不用type

<script src="test.js"></script>

2. 不要使用样式特点命名

有些人可能喜欢用样式的特点命名

.red-font{
    color: red;
}
.p1{
    font-size: 18px;
}
.p2{
    font-size: 16px;
}

类的命名应当使用它所表示的逻辑意义

如signup-success-toast、request-demo、agent-portrait、 company-logo等等。

3. 减少覆盖

如下代码,为了让每个house中间的20px的间距,但是第一个house不要有间距:

.house{
    margin-top: 20px;
}
.house:first-child{
    margin-top: 0;
}

其实可以改成这样

.house + .house{
    margin-top: 20px;
}

选择.house后所有的.house,第一个不选中,这样看起来代码就简洁多了。

还有这种情况,如下代码所示:

.request-demo input{
    border: 1px solid #282828;
}
.request-demo input[type=submit]{
    border: none;
}

其实可以借助一个:not选择器:

.request-demo input:not([type=sbumit]){
    border: 1px solid #282828;
}

4. 多写注释

(1)文件顶部的注释

/*
 * @description整个列表页样式入口文件
 * @author yincheng.li
 */

(2)简单注释

/*为了去除输入框和表单点击时的灰色背景*/
input,
form{
    -webkit-tap-highlight-color:  rgba(255, 255, 255, 0);
}

5. 属性值规范

(1)如果值是0,通常都不用带单位

.list{
    border: 1px solid 0;
    margin: 0;
}

(2)色值用十六进制,少用rgb

因为使用rgb是一个函数,它还要计算一下转换。如果是带有透明度的再用rgba.

如果色值的六个数字一样,那么写3个就好:

color: #ccc;

(3)注意border none和0的区别

如下两个意思一样

border: 0;
border-width: 0;

而下面这两个一样:

border: none;
border-style: none;

所以用0和none都可以去掉边框。

6. 不要设置太大的z-index

有些人喜欢设置z-index很大:

z-index: 99999;

以为他是老大了,不会有人再比他高了,但是螳螂捕蝉,黄雀在后,很快得再写一个:

z-index: 999999

通常自己页面的业务逻辑的z-index应该保持在个位数就好了。

7. 注意float/absolute/fixed定位会强制设置成block

a.btn {
    float: left;
    display: block;
    width: 100px;
    height: 30px;
}

第二行的display: block其实是没用的,因为如果你浮动了,目标元素就会具有块级盒模型的特性,即使你display: table-cell或者inline也不管用

8. 清除浮动

清除浮动有多种方法,一般用clearfix大法,虽然这个方法有缺陷,但是它比较简单且能够适用绝大多数的场景,一个兼容IE8及以上的clearfix的写法

.clearfix:after{
    content: "";
    display: table;
    clear: both;
}

9. CSS动画规范

(1)不要使用all属性做动画

使用transition做动画的时候不要使用all所有属性,在有一些浏览器上面可能会有一些问题,如下

transition: all 2s linear;

正确的做法是要用哪个属性做动画就写哪个,如果有多个就用隔开

transition: transform 2s linear,
             opacity 2s linear;

(2)使用transform替代position做动画

如果能用transform做动画的,就不会使用left/top/margin等,因为transform不会造成重绘,性能要比position那些高很多,特别是在移动端的时候效果比较明显。基本上位移的动画都能用transform完成,不需要使用CSS2的属性,如一个框从右到左弹出。

(3)偏向于使用CSS动画替代JS动画

例如把一个框,从下到上弹出,可以用jQuery的slideUp函数,或者自己写setInterval函数处理,但是这些没有比用CSS来得好。使用CSS,初始状态可以把框translate移动屏幕外,然后点击的时候加上一个类,这个类的transform值为0,然后再用transition做动画就好了。

10. 行内元素可以直接设置margin-left/margin-right

如下有些人为了把span撑开,设置span display: inline-block:

span.phone-numer{
    display: inline-block;
    margin-left: 10px;
}

其实行内元素可直接margin的左右,能够把它撑开,不需要设置inline-block:

span.phone-numer{
    margin-left: 10px;
}

  另外需要注意的是img/input/textarea/button默认就是inline-block,也不用再设置。

原文地址:https://www.cnblogs.com/QianBoy/p/8542365.html

时间: 2024-08-25 16:13:58

前端(HTML/CSS/JS)-CSS编码规范的相关文章

前端(HTML/CSS/JS)-HTML编码规范

一.HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签要写alt属性,如果没有就写一个空的.但是一般要写一个有内容的,根据图片想要表达的意思,因为alt是在图片无法加载时显示的文字 如下不太好的写法: <img src="company-logo.svg" alt="ABC Company Logo"> 更好的写法: <img src="chime-logo.svg" alt="ABC Com

HTML/CSS/JS编码规范

最近整理了一份HTML/CSS/JS编码规范,供大家参考.目录:一.HTML编码规范二.CSS编码规范三.JS编码规范 一.HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签要写alt属性,如果没有就写一个空的.但是一般要写一个有内容的,根据图片想要表达的意思,因为alt是在图片无法加载时显示的文字.如下不太好的写法: <img src="company-logo.svg" alt="ABC Company Logo"> 更好的

web项目开发 之 前端规范 --- CSS编码规范

此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范 文档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 转载请注明出处:JS前端实用开发QQ群 :147250970  欢迎加入~! CSS编码规范 1 前言 2 代码风格 2.1 文件 2.2 缩进 2.3 空格 2.4 行长度 2.5 选择器 2.6 属性 3 通用 3.1 选择器 3.2 属性缩写 3.3 属性书写顺序 3.4 清除浮动 3.5 !important 3.6 z

前端编码规范(4)—— CSS 和 Sass (SCSS) 规范

CSS and Sass (SCSS) style rules ID and class naming ID和class(类)名总是使用可以反应元素目的和用途的名称,或其他通用名称.代替表象和晦涩难懂的名称. 应该首选具体和反映元素目的的名称,因为这些是最可以理解的,而且发生变化的可能性最小. 通用名称只是多个元素的备用名,他们兄弟元素之间是一样的,没有特别意义. 区分他们,使他们具有特殊意义,通常需要为“帮手”. 尽管class(类)名和ID 的语义化对于计算机解析来说没有什么实际的意义, 语

前端CSS和JS代码风格规范

1:不要轻易改动全站级CSS和通用CSS库.改动后,要经过全面测试. 2:css的id,class 名称 语义化,   以 - 相连,   命名少用缩写(除一些所有人一看便知的缩写); 3: Javascript命名规则 3.1:私有变量名用下划线开头; eg: _this = $(this); 3.2:变量名--驼峰命名法; eg: regEmail; 3.3:格式化对象参数;   eg: $.ajax({ type : 'post', url : '/auth/sendCode', data

编码规范之编写灵活、稳定、高质量的 HTML 和 CSS 代码的规范

不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. 因此,编写灵活.稳定.高质量的 HTML 和 CSS 代码,是每一个技术人员的基本操守. HTML ************************************************************************ 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 嵌套元素应当缩进一次(即两个空格). 对于属性的定义,确保全部使用双引号,绝不要使用单

史上最精辟的html/css编码规范(转)

黄金定律 永远遵循同一套编码规范,不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. HTML 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 嵌套元素应当缩进一次(即两个空格). 对于属性的定义,确保全部使用双引号,绝不要使用单引号. 不要在自闭和(self-closing)元素的尾部添加斜线 -- HTML5 规范中明确说明这是可选的. 不要省略可选的结束标签(closing tag)(例如,</li>或</body

HTML/CSS编码规范

HTML编码规范 code { font-family: "PT Mono", Menlo, "Courier New", monospace; padding: 2px 4px; font-size: 85%; color: #d44950; background-color: #f7f7f9; border-radius: .2rem; } .dec, .var {color: #606;} .pln {color: black;} .tag {color: #

使用gulp自动化打包合并前端静态资源(CSS、JS文件压缩、添加版本号)

现在正在做的项目更新迭代比较频繁,会经常对前端代码打包部署,手动整合代码文件很麻烦并且浪费时间,所以决定使用gulp来代替手工完成这项工作. 前端静态资源在发版更新时会面临客户端浏览器缓存的问题(可参考这篇文章),解决这个问题可以采用两类方法:覆盖方法(引用资源时加版本号,不修改资源文件名).非覆盖方法(修改资源文件名),本篇文章主要采用的是第一种加版本号的方式,主要用gulp给静态资源自动加版本号和压缩CSS.JS. 原理:通过对JS,CSS文件内容进行Hash运算,生成一个文件的唯一Hash

Mikit前端框架,轻量级CSS&amp;JS前端框架

Mikit CSS Framework Mikit介绍 Mikit是前端开发人员和前端设计师所喜爱的Web框架.Mikit的创建和设计旨在为前端社区提供最灵活而强大的CSS框架. 与许多其他网络框架不同,Mikit对于超级快速是非常好的引导和严谨的前沿,面向未来的Web开发. 基础模版 使用Mikit,您可以设置您的Web框架,并在一分钟之内完成. 只需将此代码添加到您的网页,使基本模板立即生效. <!DOCTYPE html> <html> <head> <ti