订阅本栏目 RSS您所在的位置: 深山工作室 > DIV+CSS > 正文

缩写精简不必要的css定义代码来实现控制网页文件大小

IT世界 2008/3/16 22:11:14 深山行者 字体: 浏览 6618

尽管对于现如今的带宽来说,网页文件那仅以K来算的大小实在是微不足道,但如何将这以K来计算的网页文件精简到最小还是网页设计师们所应该考虑的问题之一。

  众所周之,在不影响整个网页构架与功能的情况下,网页文件越小越好,因为更小的网页文件有利于浏览器对网页的解释时间缩到更短,自然访客也就不用面临等待网页缓慢呈现的烦躁了,这一点对于那些带宽少网速慢的用户犹为明显。试想一下,你会是希望打开一个网站的时候整个站点马上呈现在你面前呢?还是喜欢花上十几秒甚至是几分钏来看整个站点一点一点的被浏览器解释出来呢?

  在Table布局的时代,代码无数次的随着表格在页面里重复,致使整个网页文件变得臃肿无比,代码的可读性也降到最低,浏览器的解释时间自然也增加了不少。而自从DIV+CSS的布局替代Table布局之后,这一切都得到了极大的改善,让Table回归到它原本用于显示数据的位置上去,而布局就交给DIV+CSS来做,这样代码的可读性与复用性都得到了提高,而DIV+CSS更为重要的一点就是将网页文件的表现与结构区分开来,再也不用为了表现而去改动整个网页文件的结构了。

  即使DIV+CSS的布局方式将以前Table布局时代码的臃肿降到了最低,但对于网页设计师来说,如何将网页文件的大小控制到最小是永远值得探索和追求的一个问题。

  看如下一段代码:

  #header {
   margin-top:10px;
   margin-right:15px;
   margin-bottom:10px;
   margin-left:15px;
   backgroung-color:#333333;
   background-images:url(Images/header.jpg);
   }

  这样的一段CSS代码,在条理上很清晰,结构也很明了,可读性很强,可是这样的一段代码却没有做精简,也就是说它是最原始的CSS代码,下面看精简后的代码:

  #header {
   margin:10px 15px;
   backgroung:#333 url(Images/header.jpg);
   }

  在CSS中有复合属性这一说法,也就是说可以将很多属性参数整合在一起的,比如说上面的“margin-top; margin-right; margin-bottom; margin-left;”可以整合成一个“margin”属性,然后为其配上参数。   

  通过这一点,我们就可以在原始CSS代码的基本上将代码进一步的精简。而且这样写的结构也合理,可读性也同样强。可是对于要精简到彻底来说,这还不够。为了让这段CSS代码的结构明了,我们用上了空格换行等占用空间的东西,如果将这些占用空间的去掉呢?

  #header{margin:10px 15px;background:#333 url(Images/header.jpg);}

  只这一句就替代了上面的一段代码,这样代码就已经精简到了最大化,当然,并不推荐所有人都这样写,这样写的CSS代码在可读性上要远远差于段落式的写法,除非你对自己写的代码有完全掌握的信心。

  在同一个站点的CSS文件中,不可避免的会出现不同的ID或Class却有一部分相同的属性,如果将这些ID或Class逐个分开来写的话,在CSS文件里无疑会生成重复代码,而我们要尽量的精简CSS文件的大小,那么“消灭”这部分重复的代码就变得势在必行。   

  看下面一段CSS代码:

  #header{margin:10px 15px;background:#333 url(Images/header.jpg);}
  #content{margin:10px 15px;padding:10px;background:#999;}
  #copyright{margin:10px 15px;border:1px solid #f00;}

  在上面的三个ID中都有一个相同的属性“margin:10px 15px;”,如果就这样分开来写的话,这三个ID之间将保持各自独立的关系,但却生成了重复的代码,而我们可以将其写成如下格式:

  #header,#content,#copyright{margin:10px 15px;}
  #header{background:#333 url(Images/header.jpg);}
  #content{padding:10px;background:#999;}
  #copyright{border:1px solid #f00;}

  将上面的ID换成Class也是一样的。这样写我们就成功的将重复代码“消灭”掉了。但是如果这里具有相同的属性的ID或Class过多的话,难免会造成代码可读性降到很低很低,所以除此之外当具有相同属性的都是Class时还有另外的一种写法:


  .main{margin:10px 15px;}
  .header{background:#333 url(Images/header.jpg);}
  .content{padding:10px;background:#999;}
  .copyright{border:1px solid #f00;}

  当然这种写法时,调用时的写法也与平常不一样。

  这样的写法同样可以达到效果,并且也不会再怕具有相同属性的Class多而造成代码可读性差的问题,但值得注意的一点就是,这种写法对于ID是无效的,不管其中是存在一个ID或者全部都是ID,都将造成这段代码的无效

相关阅读
QQ邮箱文件中转站点击下载效果
关于网页里面的DOCTYPE见解
PS常用密技
支持火狐,IE6.ie7.ie8.ie9的加入收藏/设为首页代码
19寸宽屏旅行社网站模板8
增大、缩小、还原字体
asp随机显示字符长度与类型(可随机显示数字、小写字母、大写字母,可以做为随机密码使用)
取得鼠标所在位置的对象
共有0条关于《缩写精简不必要的css定义代码来实现控制网页文件大小》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
jquery设置或获取修改classname
利用css3.0写出一个音乐播放的唱片碟盘的效果
利用css中的scale()实现放大缩小效果
利用background-color:#000000a8在背景颜色16进制代码之后加字母加上数字让背景色透明
css背景使用base64编码或者将base64编码放在img图片标签中
利用css3中的-webkit-font-smoothing把网页文字的毛边去掉
更多>>最新添加文章
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
aliyun阿里云续费域名优惠口令(注册、续费都可以使用)
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
DW设置之后更好用 DreamweaverCS编辑GB2312与UTF-8文件在代码视图中点击鼠标错位问题的解决办法
更多>>随机抽取信息
uni-app一个像商城分类中心一样的联动侧边栏导航分类
可以生成跟QQ菜单一样的生成器
div中设置文字垂直居中
asp随机数字,可以当成随机验证码使用
符合标准的正常工作的对联广告
ASP.NET 2.0跨网页提交的三法