• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS的一些编程规范总结

CSS的一些编程规范总结

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,编程规范等相关知识,佚名 希望在学习及工作中可以帮助到您

在参与规模庞大、历时漫长且参与人数众多的项目时,所有开发者遵守如下规则极为重要:

    保持 CSS 易于维护
    保持代码清晰易懂
    保持 CSS 的可拓展性

  为了实现这一目标,我们要采用诸多方法。

  本文档第一部分将探讨语法、格式以及分析 CSS 结构;第二部分将围绕方法论、思维框架以及编写与规划 CSS 的看法。
CSS 文档分析

  无论编写什么文档,我们都应当维持统一的风格,包括统一的注释、统一的语法与统一的命名规范。
  总则

  将行宽控制在 80 字节以下。渐变(gradient)相关的语法以及注释中的 URL 等可以算作例外,毕竟这部分我们也无能为力。

  我倾向于用 4 个空格而非 Tab 缩进,并且将声明拆分成多行。
  单一文件与多文件

  有人喜欢在一份文件文件中编写所有的内容,而我在迁移至 Sass 之后开始将样式拆分成多个小文件。这都是很好的做法。无论你选择哪种,下文的规则都将适用,而且如果你遵守这些规则的话你也不会遇到什么问题。这两种写法的区别仅仅在于目录以及区块标题:
  目录

  在 CSS 的开头,我会维护一份目录,就像这样:

  1. /*------------------------------------*\  
  2.     $CONTENTS  
  3. \*------------------------------------*/  
  4. /**  
  5.  * CONTENTS............You’re reading it!  
  6.  * RESET...............Set our reset defaults  
  7.  * FONT-FACE...........Import brand font files  
  8.  */    

  这份目录可以告诉其他开发者这个文件中具体含有哪些内容。这份目录中的每一项都与其对应的区块标题相同。

  如果你在维护一份单文件 CSS,对应的区块将也在同一文件中。如果你是在编写一组小文件,那么目录中的每一项应当对应相应的 @include 语句。
  区块标题

  目录应当对应区块的标题。如下:

  1. /*------------------------------------*\  
  2.     $RESET  
  3. \*------------------------------------*/  

  区块标题前缀 $ 可以让我们使用 [Cmd|Ctrl]+F 命令查找标题名时将搜索范围限制在区块标题中。

  如果你在维护一份大文件,那么在区块之间空 5 行,如下:

  1. /*------------------------------------*\  
  2.     $RESET  
  3. \*------------------------------------*/  
  4. [Our   
  5. reset   
  6. styles]   
  7.   
  8.   
  9.   
  10.   
  11.   
  12. /*------------------------------------*\  
  13.     $FONT-FACE  
  14. \*------------------------------------*/  

  在大文件中快速翻动时这些大块的空档有助于区分区块。

  如果你在维护多份以 include 连接的 CSS 的话,在每份文件头加上标题即可,不必这样空行。
 代码顺序

  尽量按照特定顺序编写规则,这将确保你充分发挥 CSS 中第一个 C 的意义:cascade,层叠。

  一份规划良好的 CSS 应当按照如下排列:

    Reset 万物之根源
    元素类型 没有 class 的 h1、ul 等
    对象以及抽象内容 最一般、最基础的设计模式
    子元素 由对象延伸出来的所有拓展及其子元素
    修补 针对异常状态

  如此一来,当你依次编写 CSS 时,每个区块都可以自动继承在它之前区块的属性。这样就可以减少代码相互抵消的部分,减少某些特殊的问题,组成更理想的 CSS 结构。

  关于这方面的更多信息,强烈推荐 Jonathan Snook 的 SMACSS。
 CSS 样式集分析

  1. [selector]{   
  2.     [property]:[value];   
  3.     [<- Declaration ->]   
  4. }   
  5.   
  6. [选择器]{   
  7.     [属性]:[值];   
  8.     [<- 声明 ->]   
  9. }   

  编写 CSS 样式时,我习惯遵守这些规则:

    class 名称以连字符(-)连接,除了下文提到的 BEM 命名法;
    缩进 4 空格;
    声明拆分成多行;
    声明以相关性顺序排列,而非字母顺序;
    有前缀的声明适当缩进,从而对齐其值;
    缩进样式集从而反映 DOM;
    保留最后一条声明结尾的分号。

  例如:

  1. .widget{   
  2.     padding:10px;   
  3.     border:1px solid #BADA55;   
  4.     background-color:#C0FFEE;   
  5.     -webkit-border

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06举例详解CSS中的继承
  • 2017-08-06ie8 body overflow hidden 无效的解决方法
  • 2017-08-06 如何更好地控制input输入框的高度
  • 2017-08-06css实现li中文本超出行宽自动隐藏
  • 2017-08-06关于css兼容性问题及一些常见问题汇总
  • 2017-08-06重置浏览器默认样式
  • 2017-08-06IE6不兼容position:fixed属性的解决办法分享
  • 2017-08-06仅用CSS让你的div模块旋转
  • 2017-08-06详解CSS中的伪类与伪元素及二者间的区别
  • 2017-08-06让几个横向排列的浮动子div居中显示的方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css设置div附带下拉条的样式
    • 绝对定位(absolute)和浮动定位(float)分析
    • css清除浮动的几种方法以及对应规范说明
    • 纯css实现的下拉菜单只有边框底纹用到图片
    • css 控制first-letter伪类的背景
    • 在网页标题栏上和收藏夹显示网站logo的实现方法
    • 各种浏览器下常见css的兼容问题集锦
    • CSS技巧之圆角背景与三角形实现方法
    • 利用css3制作3D样式按钮实现代码
    • Discuzx系统 CSS 编码规范、CSS属性书写顺序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有