文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

这篇文章将为大家详细讲解有关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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯