CSS编写技巧
1.尽量少的使用全局的重置代码
全局重置代码:*{margin:0; padding:0;}对于熟悉CSS的人来说并不陌生,并且有很多人的第一句CSS代码就是这句。它可以避免不同浏览器的默认间距不同而造成的浏览器兼容性问题。“*”在代码中一般都是代表通配符,在CSS中也是如此,可以代表所有的HTML元素。虽可以杜绝很多代码在浏览器之间的兼容问题,但是这种写法会降低CSS解析的效率。我们有更好的解决办法,就是用下面这种写法:
- html, body, div, dl, dt, dd, ul, h1, h2, h3, pre, form, label, fieldset, input, p, blockquote, th, td { margin:0; padding:0; }
- table { border-collapse:collapse; border-spacing:0; }
- fieldset, img { border:0; }
- ul { list-style:none }
- 2.不要使用IE的Hacks
虽然CSS的hacks可以解决不少针对IE6的老式浏览器出现的和标准浏览器之间的兼容问题,但是使用这些hacks的同时也会给代码带来一些负面影响并且不能通过CSS的标准验证。更好的写法就是在HTML代码的<head>中添加if条件语句:
- <!--[if lte IE 6]>
- <link rel='stylesheet' type='text/css' href='styles/ie-styles.css' />
- <![endif]-->
3.为id和class使用有意义的命名
假设给你的侧边栏(sidebar)用.l12来命名class, 假如你几个月后或者一两年后再来对网页的样式进行修改,你还会记得这个类名吗,可能在当时你命名的时候它只是一个缩写,但现在看来是两眼一摸黑。如果把侧边栏的类名换成.left_blue,这样一来,你可能立即就会知道这个类选择符是为左侧边栏的显示蓝色区块而创建的,这时它就正确的表达了一定的语义。
4.合理的利用CSS的继承
如果页面中的子元素和父元素有很多相同的样式属性,这个时候只要写父元素的属性即可,子元素会继承父元素中的属性。这样可以使代码更简洁,也有效降低了CSS文件的体积。
例如:
- #container li{ font-family:Georgia, serif; }
- #container p{ font-family:Georgia, serif; }
- #container h1{font-family:Georgia, serif; }
可以写成:
- #container{ font-family:Georgia, serif; }
5.结合多重选择器
如果有很多样式属性是相同的,你同样可以结合成一句代码,这样也可以使代码更简洁。
例如:
- h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
- h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
- h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
更好的写法:
- h1,h2,h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
6.将代码缩写
利用CSS的缩写,可以将不少CSS属性进行缩写,比如font、padding、margin、border-width、background等都可以进行缩写。
例如:
- li{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 1.2em;
- line-height: 1.4em;
- padding-top: 5px;
- padding-bottom: 10px;
- padding-left: 5px;
- }
可以写成:
- li{
- font: 1.2em/1.4em Arial, Helvetica, sans-serif;
- padding: 5px 0 10px 5px;
- }
7.有组织的编写代码
应当给代码添加一些注释,这样当你日后再来修改这些CSS代码的时候能够做到一目了然,而不是看到一堆杂乱无章的代码。
- /*-------------------------
- CSS Reset
- -------------------------*/
- /*-------------------------
- Generic Classes
- -------------------------*/
- /*-------------------------
- Layout styles
- -------------------------*/
- /*-------------------------
- Section specific styles
- -------------------------*/
- /*-------------------------
- Header
- -------------------------*/
- /*-------------------------
- Content
- -------------------------*/
- /*-------------------------
- Footer
- -------------------------*/
8.使用外部样式表
要养成将HTML结构和CSS样式表进行分离的好习惯,将CSS代码写在一个CSS文件中并通过的形式在网页中引用。如果是单独的页面你可以不这么做,但如果是多个页面的时候这样做的好处就很明显了。通过修改外部CSS文件,你就可以轻松修改CSS代码,而不是到每个HTML页面中去寻找CSS样式表。
- <style type='text/css' >
- #container{ .. }
- #sidebar{ .. }
- </style >
- OR
- <li style='font-family:Arial, helvetica, sans-serif; color:#666; ' >
更好的写法:
- <link rel='stylesheet' type='text/css' href='css/styles.css' />
9.将CSS文件进行拆分
如果在一个大型Web项目中有多个模块,每个模块又设置了不同的样式。这个时候可以将CSS文件分割成几个小CSS文件。一般的做法是重置代码分成一个单独的CSS文件,布局分成一个单独的CSS文件,一般类的模块分成一个CSS文件,特殊类的模块分成一个CSS文件。这样的做法可以让你在大型Web项目中轻松组织你的CSS代码,多个CSS文件的载入意味着更多的HTTP请求,在相应的页面载入相应的CSS文件,这样当然可以减少HTTP的请求数。具体的做法是将多个CSS文件导入到一个单独的CSS文件中。
- @import 'style/css/reset.css';
- @import 'style/css/typography.css';
- @import 'style/css/layout.css';
10.压缩CSS代码
一旦项目完成之后,将你的CSS代码文件上传到CSS Compressor,可以对CSS文件进行压缩,以减小CSS文件的大小和网页装载的时间。
希望这些CSS的小技巧能帮助你写出更好更高质量的CSS代码,如果你也要分享你的几个CSS技巧,你可以发表评论。
CSS编写技巧的更多相关文章
- HTML+CSS编写规范
在任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一.代码维护和扩展.由于Web项目开发的分散性.独立性.整合的交互性等,所以定制一套完整的约定和规则显得尤为重要. ...
- 个人css编写规范
前言:最近在做微信小程序,因为公司小,就我一个人弄前端的东西,js和页面都是我来弄,结果那天后台的人看到我的js代码,说我的代码写得不规范,函数什么的都很乱,弄得我羞愧难当,幸亏没看我的css,其实我 ...
- css编写规范最佳实践
最初,在编写CSS的时候,我们往往想到哪儿就写到哪儿,它们之间的关联性和有序性并不在考虑之中.但随着代码量的增加,亦或是多人共同开发,CSS的编写规范变得重要起来了.本文通过三个方面,总结出CSS编写 ...
- 10个CSS简写技巧让你永远受用
转自:http://blog.bingo929.com/10-css-shorthand-tips.html 前言: CSS简写就是指将多行的CSS属性声明化成一行,又称为CSS代码优化.CSS简写的 ...
- Hexo之旅(四):文章编写技巧
hexo 编写文章可以使用以下命令创建hexo new "文件名" #创建的文章会在_pots目录下文章的后缀名是以md命名的文件格式,遵循markdown语法,所以编写文章可以使 ...
- css小技巧(1)
1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...
- CSS 代码技巧与维护 ★ Mozilla Hacks – the Web developer blog
原文链接:https://hacks.mozilla.org/2016/05/css-coding-techniques/ 译文链接 :http://www.zcfy.cc/article/css-c ...
- 2天驾驭DIV+CSS (技巧篇)(转)
这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们.本文是技巧篇. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” ...
- CSS hack技巧
CSS hack技巧一览,原文来自CSDN freshlover的博客专栏<史上最全CSS Hack方式一览> 什么是CSS hack 由于不同厂商的流览器或某浏览器的不同版本(如IE6- ...
随机推荐
- UIViewController相关知识
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
- 通过jconsole监控tomcat JVM 内存、线程、CPU
从Java 5开始 引入了 JConsole,来监控 Java 应用程序性能和跟踪 Java 中的代码.jconsole是JDK自带监控工具,只需要找到 JDK 安装路径,打开 bin 文件夹,双击 ...
- mysql 基本
mysql -u root -p 输入密码进入数据库 show database; 查询当前库 use databasename 切换到某个库 show tables; 列出当前数据库的表 desc ...
- #研发中间件介绍#定时任务调度与管理JobCenter
郑昀 最后更新于2014/11/11 关键词:定时任务.调度.监控报警.Job.crontab.Java 本文档适用人员:研发员工 没有JobCenter时我们要面对的: 电商业务链条很长,业 ...
- iPhone被盗后怎么?这篇文章只办针对iOS7后的系统
中午准备去吃饭的时候,今天看到Tungbaby的手机被盗后怎么做?http://www.jianshu.com/p/f13f49cd9b90 碰巧我的手机也被盗了.就来分享下我的经验吧.由于我当时是在 ...
- 关于linux,我们应该学什么?
为了系统地学习一下linux相关知识,我花了三天的时间看完了那本经典的<鸟哥的linux私房菜>.所谓的经典必然是有其过人之处,而看完这本书之后,我毫无疑问地加入了强烈推荐这本书的行列. ...
- .net core 用grpc实现微服务
GRPC 是Google发布的一个开源.高性能.通用RPC(Remote Procedure Call)框架.提供跨语言.跨平台支持.以下以.NET Core 使用控制台.docker中演示如何使用G ...
- Apache 安装配置详情
本次文章讲解Apache的安装和基本的配置 输入PHP环境搭建的一部分 PHP完整配置信息请参考 http://www.cnblogs.com/azhe-style/p/php_new_env_bui ...
- 全透明Activity
第一步:在/res/values/styles里面添加如下代码: <style name="translucent"> <item name="andr ...
- 64位的Ubuntu系统上使用汇编nasm和C语言
64位的Ubuntu系统上使用汇编nasm和C语言 $ nasm -f elf foo.asm -o foo.o$ gcc -c bar.c -o bar.o$ ld -s foo.o bar.o ...