您现在的位置是:网站首页> 编程资料编程资料
CSS的一些编程规范总结简要总结CSS编程中的响应式设计10个必备的CSS技巧总结CSS清除浮动方法总结css 调试方法与经验总结CSS多浏览器兼容总结(个人经验)CSS样式的基础学习总结深入CSS3 动画效果的总结详解IE下css常见问题总结及解决CSS(Cascading Style Sheet)级联样式表常用术语总结CSS学习总结
2023-10-24
174人已围观
简介 这篇文章主要介绍了CSS的一些编程规范总结,文中所列基本上得到多数开发者的共识,树立统一规范有助于debug等工作的进行,因而强烈推荐此文!需要的朋友可以参考下
在参与规模庞大、历时漫长且参与人数众多的项目时,所有开发者遵守如下规则极为重要:
保持 CSS 易于维护
保持代码清晰易懂
保持 CSS 的可拓展性
为了实现这一目标,我们要采用诸多方法。
本文档第一部分将探讨语法、格式以及分析 CSS 结构;第二部分将围绕方法论、思维框架以及编写与规划 CSS 的看法。
CSS 文档分析
无论编写什么文档,我们都应当维持统一的风格,包括统一的注释、统一的语法与统一的命名规范。
总则
将行宽控制在 80 字节以下。渐变(gradient)相关的语法以及注释中的 URL 等可以算作例外,毕竟这部分我们也无能为力。
我倾向于用 4 个空格而非 Tab 缩进,并且将声明拆分成多行。
单一文件与多文件
有人喜欢在一份文件文件中编写所有的内容,而我在迁移至 Sass 之后开始将样式拆分成多个小文件。这都是很好的做法。无论你选择哪种,下文的规则都将适用,而且如果你遵守这些规则的话你也不会遇到什么问题。这两种写法的区别仅仅在于目录以及区块标题:
目录
在 CSS 的开头,我会维护一份目录,就像这样:
- /*------------------------------------*\
- $CONTENTS
- \*------------------------------------*/
- /**
- * CONTENTS............You’re reading it!
- * RESET...............Set our reset defaults
- * FONT-FACE...........Import brand font files
- */
这份目录可以告诉其他开发者这个文件中具体含有哪些内容。这份目录中的每一项都与其对应的区块标题相同。
如果你在维护一份单文件 CSS,对应的区块将也在同一文件中。如果你是在编写一组小文件,那么目录中的每一项应当对应相应的 @include 语句。
区块标题
目录应当对应区块的标题。如下:
- /*------------------------------------*\
- $RESET
- \*------------------------------------*/
区块标题前缀 $ 可以让我们使用 [Cmd|Ctrl]+F 命令查找标题名时将搜索范围限制在区块标题中。
如果你在维护一份大文件,那么在区块之间空 5 行,如下:
- /*------------------------------------*\
- $RESET
- \*------------------------------------*/
- [Our
- reset
- styles]
- /*------------------------------------*\
- $FONT-FACE
- \*------------------------------------*/
在大文件中快速翻动时这些大块的空档有助于区分区块。
如果你在维护多份以 include 连接的 CSS 的话,在每份文件头加上标题即可,不必这样空行。
代码顺序
尽量按照特定顺序编写规则,这将确保你充分发挥 CSS 中第一个 C 的意义:cascade,层叠。
一份规划良好的 CSS 应当按照如下排列:
Reset 万物之根源
元素类型 没有 class 的 h1、ul 等
对象以及抽象内容 最一般、最基础的设计模式
子元素 由对象延伸出来的所有拓展及其子元素
修补 针对异常状态
如此一来,当你依次编写 CSS 时,每个区块都可以自动继承在它之前区块的属性。这样就可以减少代码相互抵消的部分,减少某些特殊的问题,组成更理想的 CSS 结构。
关于这方面的更多信息,强烈推荐 Jonathan Snook 的 SMACSS。
CSS 样式集分析
- [selector]{
- [property]:[value];
- [<- Declaration ->]
- }
- [选择器]{
- [属性]:[值];
- [<- 声明 ->]
- }
编写 CSS 样式时,我习惯遵守这些规则:
class 名称以连字符(-)连接,除了下文提到的 BEM 命名法;
缩进 4 空格;
声明拆分成多行;
声明以相关性顺序排列,而非字母顺序;
有前缀的声明适当缩进,从而对齐其值;
缩进样式集从而反映 DOM;
保留最后一条声明结尾的分号。
例如:
- .widget{
- padding:10px;
- border:1px solid #BADA55;
- background-color:#C0FFEE;
- -webkit-border-radius:4px;
- -moz-border-radius:4px;
- border-radius:4px;
- }
- .widget-heading{
- font-size:1.5rem;
- line-height:1;
- font-weight:bold;
- color:#BADA55;
- margin-right:-10px;
- margin-left: -10px;
- padding:0.25em;
- }
我们可以发现,.widget-heading 是 .widget 的子元素,因为前者的样式集比后者多缩进了一级。这样通过缩进就可以让开发者在阅读代码时快速获取这样的重要信息。
我们还可以发现 .widget-heading 的声明是根据其相关性排列的:.widget-heading 是行间元素,所以我们先添加字体相关的样式声明,接下来是其它的。
以下是一个没有拆分成多行的例子:
- .t10 { width:10% }
- .t20 { width:20% }
- .t25 { width:25% } /* 1/4 */
- .t30 { width:30% }
- .t33 { width:33.333% } /* 1/3 */
- .t40 { width:40% }
- .t50 { width:50% }
相关内容
- CSS中的垂直和水平居中完全指南浅析CSS实现水平垂直同时居中的5种思路CSS解决页面图片水平垂直居中问题的方法全面总结使用CSS实现水平垂直居中效果的方法CSS定位“十字架”之水平垂直居中CSS设置未知大小图片在已知大小容器水平垂直居中Flexbox制作CSS布局实现水平垂直居中的简单实例
- 更改上传按钮的样式示例jquery实现的随机显示不同样式的网站右下角广告窗口带关闭按钮悬浮特效五款漂亮的纯CSS3动画按钮的实例教程
- 设计适用于打印的CSS样式CSS控制漂亮的网页打印效果示例代码将XHTML CSS页面转换为打印机页面CSS实现强制浏览器分页将XHTML CSS页面转换为打印机页面详解CSS3中@media的实际使用CSS3的media query学习攻略详解CSS3中Media Queries的相关使用CSS media queries CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)彻底弄明白CSS3的Media Queries(跨平台设计)
- CSS中使用clearfix清除浮动的方法CSS3 清除浮动的方法示例CSS清除浮动float的三种方法小结清除css浮动的三种方法小结详解css清除浮动float的七种常用方法总结和兼容性处理CSS清除浮动方法小结CSS清除浮动的常用方法优缺点分析html+css 清除浮动的相关技巧心得浅谈CSS中overflow清除浮动的用法css 盒模型 文档流 几种清除浮动的方法实例详解
- 用CSS实现textArea中的placeholder换行功能css控制文字自动换行的实现方法CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现CSS超出文本指定宽度用省略号代替和文本不换行CSS自动换行、强制不换行、强制断行、超出显示省略号CSS强制换行对齐的实现方法CSS实现连续字符换行的方法CSS代码使纯英文数字自动换行的简单实现
- 简单介绍CSS3中Media Query的使用css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 史上最难的游戏 第2关 图文攻略_手机游戏_游戏攻略_
- 史上最难的游戏 第3关 图文攻略_手机游戏_游戏攻略_
- 史上最难的游戏 第4关 图文攻略_手机游戏_游戏攻略_
- 史上最难的游戏 第5关 图文攻略_手机游戏_游戏攻略_
点击排行
本栏推荐
