CSS样式书写规范的方法

发布时间:2022-03-05 16:59:37 作者:iii
来源:亿速云 阅读:161

这篇文章主要介绍“CSS样式书写规范的方法”,在日常操作中,相信很多人在CSS样式书写规范的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS样式书写规范的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 编码设置

采用 UTF-8 编码,在 CSS 代码头部使用:

@charset "utf-8";

注意,必须要定义在 CSS 文件所有字符的前面(包括编码注释),@charset 才会生效。

例如,下面的例子都会使得 @charset 失效:

/* 字符编码 */

@charset"utf-8";

html,

body{

height:100%;

}

@charset"utf-8";

命名空间规范

命名空间思想

没有选择 BEM 这种命名过于严苛及样式名过长过丑的规则,采取了一种比较折中的方案。

不建议使用下划线 _ 进行连接

字符小写

定义的选择器名,属性及属性值的书写皆为小写。

选择器

当一个规则包含多个选择器时,每个选择器独占一行。

、+、~、> 选择器的两边各保留一个空格。

.g-header>.g-header-des,

.g-content~.g-footer{

}

命名短且语义化良好

对于选择器的命名,尽量简洁且具有语义化,不应该出现 g-abc 这种语义模糊的命名。

规则声明块

完整示例如下:

.g-footer,

.g-header{

position:relative;

}

.g-content{

background:

linear-gradient(135deg,deeppink25%,transparent25%)-50px0,

linear-gradient(225deg,deeppink25%,transparent25%)-50px0,

linear-gradient(315deg,deeppink25%,transparent25%),

linear-gradient(45deg,deeppink25%,transparent25%);

}

.g-content::before{

content:'';

}

数值与单位

样式属性顺序

单个样式规则下的属性在书写时,应按功能进行分组,并以 Positioning Model > Box Model > Typographic > Visual 的顺序书写,提高代码的可读性。

Positioning 处在第一位,因为他可以使一个元素脱离正常文本流,并且覆盖盒模型相关的样式。盒模型紧跟其后,因为他决定了一个组件的大小和位置。其他属性只在组件内部起作用或者不会对前面两种情况的结果产生影响,所以他们排在后面。

合理使用使用引号

在某些样式中,会出现一些含有空格的关键字或者中文关键字。

font-family内使用引号

当字体名字中间有空格,中文名字体及 Unicode 字符编码表示的中文字体,为了保证兼容性,都建议在字体两端添加单引号或者双引号:

body{

font-family:'Microsoft YaHei','黑体-简','b8bf53';

}

background-image 的url 内使用引号

如果路径里面有空格,旧版 IE 是无法识别的,会导致路径失效,建议不管是否存在空格,都添加上单引号或者双引号:

div{

background-image:url('...');

}

避免使用 !important

除去某些极特殊的情况,尽量不要不要使用 !important。

!important 的存在会给后期维护以及多人协作带来噩梦般的影响。

当存在样式覆盖层叠时,如果你发现新定义的一个样式无法覆盖一个旧的样式,只有加上  !important  才能生效时,是因为你新定义的选择器的优先级不够旧样式选择器的优先级高。所以,合理的书写新样式选择器,是完全可以规避一些看似需要使用  !important 的情况的。

代码注释

单行注释

星号与内容之间必须保留一个空格。

/* 表格隔行变色 */

多行注释

星号要一列对齐,星号与内容之间必须保留一个空格。

/**

* Sometimes you need to include optional context for the entire component. Do that up here if it's important enough.

*/

规则声明块内注释

使用 // 注释,// 后面加上一个空格,注释独立一行。

.g-footer{

border:0;

// ....

}

文件注释

文件顶部必须包含文件注释,用 @name 标识文件说明。星号要一列对齐,星号与内容之间必须保留一个空格,标识符冒号与内容之间必须保留一个空格。

/**

* @name: 文件名或模块名

* @description: 文件或模块描述

* @author: author-name(mail-name@domain.com)

*author-name2(mail-name2@domain.com)

* @update: 2015-04-29 00:02

*/

当该业务项目主要由固定的一个或多个人负责时,需要添加@author标识,一方面是尊重劳动成果,另一方面方便在需要时快速定位责任人。

SASS 使用建议

嵌套层级规定

使用 SASS 、 LESS 等预处理器时,建议嵌套层级不超过 3 层。

组件/公用类的使用方法

组件/公用类使用 %placeholders 定义,使用 @extend 引用。如:

%clearfix{

overflow:auto;

zoom:1;

}

.g-header{

@extend%clearfix;

}

组件类的思考

使用 SASS ,经常会预先定义好一些常用公用组件类,譬如清除浮动,水平垂直居中,文字 ellipsis。又或者多个元素具有同样的样式,我们希望能够少写这部分代码,公共部分抽离出来只写一次,达到复用。

但是复用的方式在 SASS 中有多种,那么是使用单独使用一个类定义,给需要的标签添加,还是使用 @include 或者 @extend在定义的类中引入一个 @mixin,或者一个 @function 呢?

基于让 CSS 更简洁以及代码的复用考虑,采用上面的使用 %placeholders 定义,使用 @extend 引用的方案。

尽量避免使用标签名

使用 SASS ,或者说在 CSS 里也有这种困惑。

假设我们有如下 html 结构:

<span>

<divclass="g-content">

<ulclass="g-content-list"><liclass="item"/>

<liclass="item"/>

<liclass="item"/>

<liclass="item"/>

</ul></div>

</span>

在给最里层的标签命名书写样式的时候,我们有两种选择:

.g-content{

.g-content-list{

li{

...

}

}

}

或者是

.g-content{

.g-content-list{

.item{

...

}

}

}

也就是,编译之后生成了下面这两个,到底使用哪个好呢?

基于 CSS 选择器的解析规则(从右向左),建议使用上述第二种 .g-content .g-content-list .item { } ,避免使用通用标签名作为选择器的一环可以提高 CSS 匹配性能。

浏览器的排版引擎解析 CSS 是基于从右向左(right-to-left)的规则,这么做是为了使样式规则能够更快地与渲染树上的节点匹配。

到此,关于“CSS样式书写规范的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. css的书写规范是什么
  2. css书写规范有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css

上一篇:css两端对齐的方法有哪些

下一篇:CSS居中布局的技巧有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》