我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS代码高效编写规范有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS代码高效编写规范有哪些

这篇文章将为大家详细讲解有关CSS代码高效编写规范有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一些高效的CSS代码编写规范

CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则:

◆使用Reset但并非全局Reset

不同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容。但需要注意的是,请不要使用全局Reset:

viewsourceprint?

1*{margin:0;padding:0;}

这不仅仅因为它是缓慢和低效率的方法,而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考YUIReset和EricMeyer的做法。我跟EricMeyer的观点相同,Reset并不是一成不变的,具体还需要根据项目的不同需求做适当的修改,以达到浏览器的兼容和操作上的便利性。我使用的Reset如下:

viewsourceprint?

01   02body,h2,h3,h4,h5,h6,h7,hr,p,   03blockquote,   04dl,dt,dd,ul,ol,li,   05pre,   06form,fieldset,legend,button,input,textarea,   07th,td,   08img{   09border:mediumnone;   10margin:0;   11padding:0;   12}   13   14body,button,input,select,textarea{   15font:12px/1.5'宋体',tahoma,Srial,helvetica,sans-serif;   16}   17h2,h3,h4,h5,h6,h7{font-size:100%;}   18em{font-style:normal;}   19   20ul,ol{list-style:none;}   21   22a{text-decoration:none;color:#333;}   23a:hover{text-decoration:underline;color:#F40;}   24   25img{border:0px;}   26   27table{border-collapse:collapse;border-spacing:0;}

◆良好的命名习惯

无疑乱七八糟或者无语义命名的代码,谁看了都会抓狂。就像这样的代码:

viewsourceprint?

1.aaabb{margin:2px;color:red;}

我想即使是初学者,也不至于会在实际项目中如此命名一个class,但有没有想过这样的代码同样是很有问题的:

viewsourceprint?

1<h2>Mynameis<spanclassspanclass="redblod">  NowaMagicspan>h2>

问题在于如果你需要把所有原本红色的字体改成蓝色,那修改后就样式就会变成:

viewsourceprint?

1.red{color:bule;}

这样的命名就会很让人费解,同样的命名为.leftBar的侧边栏如果需要修改成右侧边栏也会很麻烦。所以,请不要使用元素的特性(颜色,位置,大小等)来命名一个class或id,您可以选择意义的命名如:#navigation{...},.sidebar{...},.postwrap{...}

这样,无论你如何修改定义这些class或id的样式,都不影响它跟HTML元素间的联系。

另外还有一种情况,一些固定的样式,定义后就不会修改的了,那你命名时就不用担忧刚刚说的那种情况,如:

viewsourceprint?

1.alignleft{float:left;margin-right:20px;}   2.alignright{float:right;text-align:right;margin-left:20px;}   3.clear{clear:both;text-indent:-9999px;}

那么对于这样一个段落

viewsourceprint?

1<pclasspclass="alignleft">我是一个段落!p>

如果需要把这个段落由原先的左对齐修改为右对齐,那么只需要修改它的className就为alignright就可以了。

◆代码缩写

CSS代码缩写可以提高你写代码的速度,精简你的代码量。在CSS里面有不少可以缩写的属性,包括margin,padding,border,font,background和颜色值等,如果您学会了代码缩写,原本这样的代码:

viewsourceprint?

1li{   2font-family:Arial,Helvetica,sans-serif;   3font-size:1.2em;   4line-height:1.4em;   5padding-top:5px;   6padding-bottom:10px;   7padding-left:5px;   8}

就可以缩写为:

viewsourceprint?

1li{   2font:1.2em/1.4emArial,Helvetica,sans-serif;   3padding:5px010px5px;   4}

如果您想更了解这些属性要怎么缩写,可以参考《常用CSS缩写语法总结》或者下载CSS-Shorthand-Cheat-Sheet.pdf。

◆利用CSS继承

如果页面中父元素的多个子元素使用相同的样式,那***把他们相同的样式定义在其父元素上,让它们继承这些CSS样式。这样你可以很好的维护你的代码,并且还可以减少代码量。那么本来这样的代码:

viewsourceprint?

1#containerli{font-family:Georgia,serif;}   2#containerp{font-family:Georgia,serif;}   3#containerh2{font-family:Georgia,serif;}

就可以简写成:

viewsourceprint?

1#container{font-family:Georgia,serif;}

◆使用多重选择器

你可以合并多个CSS选择器为一个,如果他们有共同的样式的话。这样做不但代码简洁且可为你节省时间和空间。如:

viewsourceprint?

1h2{font-family:Arial,Helvetica,sans-serif;font-weight:normal;}   2h3{font-family:Arial,Helvetica,sans-serif;font-weight:normal;}   3h4{font-family:Arial,Helvetica,sans-serif;font-weight:normal;}

可以合并为

viewsourceprint?

1h2,h3,h4{font-family:Arial,Helvetica,sans-serif;font-weight:normal;}

◆适当的代码注释

代码注释可以让别人更容易读懂你的代码,且合理的组织代码注释,可使得结构更加清晰。你可以选择做的样式表的开始添加目录:

viewsourceprint?

1

如此你代码的结构就一目了然,你可以容易的查找和修改代码。

而对于代码的主内容,也应适当的加以划分,甚至在有必要的地方在对代码加以注释说明,这样也有利于团队开发:

viewsourceprint?

01   02#header{height:145px;position:relative;}   03#headerh2{width:324px;margin:45px0020px;float:left;height:72px;}   04   05   06#content{background:#fff;width:650px;float:left;  min-height:600px;overflow:hidden;}   07#contenth2{color:#F00}   08#content.posts{overflow:hidden;}   09#content.recent{margin-bottom:20px;  border-bottom:1pxsolid#f3f3f3;position:relative;  overflow:hidden;}   10   11   12#footer{clear:both;padding:50px5px0;overflow:hidden;}   13#footerh5{color:#b99d7f;  font-family:Arial,Helvetica,sans-serif;font-size:1.1em;}

◆给你的CSS代码排序

如果代码中的属性都能按照字母排序,那查找修改的时候就能更加快速:

viewsourceprint?

01   02div{   03background-color:#3399cc;   04color:#666;   05font:1.2em/1.4emArial,Helvetica,sans-serif;   06height:300px;   07margin:10px5px;   08padding:5px010px5px;   09width:30%;   10z-index:10;   11}

◆保持CSS的可读性

书写可读的CSS将会使得更容易查找和修改样式。对于以下两种情况,哪种可读性更高,我想不言而明。

viewsourceprint?

01   02div{   03background-color:#3399cc;   04color:#666;   05font:1.2em/1.4emArial,Helvetica,sans-serif;   06height:300px;   07margin:10px5px;   08padding:5px010px5px;   09width:30%;   10z-index:10;   11}   12   13   14div{background-color:#3399cc;color:#666;  font:1.2em/1.4emArial,Helvetica,sans-serif;height:300px;  margin:10px5px;padding:5px010px5px;width:30%;z-index:10;}

当对于一些样式属性较少的选择器,我会写到一行:

viewsourceprint?

1   2div{background-color:#3399cc;color:#666;}

对于这个规则并非硬性规定,但无论您采用哪种写法,我的建议是始终保持代码一致。属性多的分行写,属性少于3个可以写一行。

◆选择更优的样式属性值

CSS中有些属性采用不同的属性值,虽然达到的效果差不多,当性能上却存在着差异,如:

区别在于border:0把border设为0px,虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。

而border:none把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。所以建议使用border:none;

同样的,display:none隐藏对象浏览器不作渲染,不占用内存。而visibility:hidden则会。

◆使用代替@import

首先,@import不属于XHTML标签,也不是Web标准的一部分,它对于较早期的浏览器兼容也不高,并且对于网站的性能有某些负面的影响。具体可以参考《高性能网站设计:不要使用@import》。所以,请避免使用@import

◆使用外部样式表

这个原则始终是一个很好的设计实践。不单可以更易于维护修改,更重要的是使用外部文件可以提高页面速度,因为CSS文件都能在浏览器中产生缓存。内置在HTML文档中的CSS则会在每次请求中随HTML文档重新下载。所以,在实际应用中,没有必要把CSS代码内置在HTML文档中:

viewsourceprint?

1<styletypestyletype="text/css">  2#container{..}   3#sidebar{..}   4style>

viewsourceprint?

1<listylelistyle="font-family:Arial,helvetica,sans-serif;color:#666;">

而是使用导入外部样式表:

viewsourceprint?

1<linkrellinkrel="stylesheet"type="text/css"href="css/styles.css"/>

◆避免使用CSS表达式(Expression)

CSS表达式是动态设置CSS属性的强大(但危险)方法。InternetExplorer从第5个版本开始支持CSS表达式。下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景颜色:

viewsourceprint?

1background-color:expression((newDate()).getHours()%   2?"#B8D4FF":"#F08A00");

如上所示,expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。

表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。

如果必须使用CSS表达式,一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。所以,在非不得已,请避免使用CSS表达式。

◆代码压缩

当你决定把网站项目部署到网络上,那你就要考虑对CSS进行压缩,出去注释和空格,以使得网页加载得更快。压缩您的代码,可以采用一些工具,如YUICompressor利用它可精简CSS代码,减少文件大小,以获得更高的加载速度。

关于CSS代码高效编写规范有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS代码高效编写规范有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

css代码规范有哪些

css 代码规范对于保持一致性、可读性和可维护性至关重要,常见的规范包括:命名约定:使用小写字母和短划线,命名特定且描述性。缩进和对齐:按特定规则缩进、对齐选择器、声明和值。属性和值顺序:遵循特定顺序排列属性和值。注释:解释复杂代码,并使用
css代码规范有哪些
2024-04-06

VB.NET编码规范有哪些

今天就跟大家聊聊有关VB.NET编码规范有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、类型级单位的命名 1、类。 以Class声明的类,都必须以名词或名词短语命名,体现类的
2023-06-17

Python编码规范有哪些

Python编码规范有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。编码在Python编码规范中,所有的 Python 脚本文件都应在文件头标上 # -*- codin
2023-06-17

Go编码规范有哪些

本文小编为大家详细介绍“Go编码规范有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go编码规范有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 代码风格1.1 代码格式代码必须用 gofmt 进行
2023-07-04

VB.NET有哪些编码规范

本篇文章为大家展示了VB.NET有哪些编码规范,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、类型级单位的命名1、类。以Class声明的类,都必须以名词或名词短语命名,体现类的作用。如:Class
2023-06-17

C#代码规范有哪些

C#代码规范有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 引言按照此规范来开发C#程序可带来以下益处:· 代码的编写保持一致性,&mi
2023-06-17

编程热搜

目录