用Div+CSS重构网页

从接触WEB标准以来,一直在努力实践,近日官方网站的全面改造终于正式展开,由于网站管理系统的WYSWYG编辑器本身不支持WEB规范,也是没办法的事情,但是我还是决定在这次改版的过程要充分利用CSS,在可能的程度上尽量利用Div+CSS的优点,减少维护量和网页大小。

  第一批改造的是新闻中心和招生网,在重新制作的几个模版页面中,我们只用了少量的表格和内联代码,之所以没有完全采用Div+CSS,是因为经过WYSWYG编辑器的自动更改,多层嵌套的DIV代码会变得非常不易读,即使我们在制作时把代码写得非常的清晰,缩进和换行用得很好,也最终会得到一个结构混乱的HTML源代码。因此只能适当采用一定数量的表格,但是对表格也尽量采用CSS来控制了。而网页中的任何<b>、<font>、<hr>这类的代码,则完全去掉了。

  改完以后,代码总量减少到原来的一半左右,而且网页中的表格都只在很小的范围内使用,尽量避免嵌套,使网页的速度得到了很大的提高,虽然没有实现对WEB规范的支持,但是采用DIV+CSS的效果还是非常明显的。

  今天我又重做网站首页,对网站首页,我就完全采用了DIV+CSS来进行网页布局,首页以前的表格更为混乱,嵌套很深,由于原来的代码量就不是很多,所以改完以后,代码减少也还不算太多,只为原来的一半左右。但是访问速度提升很多,而在规划好CSS以后,网页的布局部分真是轻松极了。

  我取了其中一部分代码来比较:

重构前的代码(全页大小共计38K):

程序代码 程序代码

1
<table><tr><td>
2
               <table><tr><td>
3
                   <table><tr><td>
4
                        <table><tr><td>
5
                              <table><tr><td>
6
                                       <table><tr> 
                                            <td><a><font><strong>二外新闻</strong></font></a></td>
                                            <td> 
                                              <img></td>
                                            <td><a>新闻中心</a> | <a>院 报</a> | <a>广 播 台</a> | <a>电 视 台</a> | <a>媒体二外</a></td>
                                          </tr></table>
6
                                  </td></tr></table>
5
                            </td></tr></table>
4
                           </td></tr></table>
3
                       </td></tr></table>
2
               </td></tr></table>
1
</td></tr></table>


  说明:为了实现在760像素表格(1像素边框)左中右三栏划分(布局),然后对中栏进行上中下划分(布局),再对中栏进行左中右划分(边距),再对中栏进行左中右划分(内容),加上部分一像素边框和代码不够优化,一共出现了6层嵌套,而且多次编辑以后,还出现了嵌套错误(多出一层结束标记)

重构后的代码(全页大小共计17.8k):

程序代码 程序代码

1
<div>
2
     <div>
3
          <div>
4
               <div>
        <div></div>
        <div>快速链接</div>
        <div></div>
        <div></div>
    </div>
    <div>
        <div><a>二外新闻</a></div>
        <div</div>
        <div><a>新闻中心</a> | <a>院 报</a> | <a>广 播 台</a> | <a>电 视 台</a> | <a>媒体二外</a></div>
    </div>
4
           </div>
3
       </div>
2
</div>
1


说明:
1首先用一个<div>作为容器,把左中右三栏都装在760像素居中的区域;
2利用浮动实现两个同级div左右分栏同时实现边框;
3利用浮动把右边的div再分成左右两栏同时实现边框;
4在中央的div中从上到下每行用一个div容器包括,在容器中利用浮动实现左右划分;


  在这个比较中,为了便于对比,去除了所有定义外观的属性代码,以及内联样式,包括div的id和class,仅仅从结构上可以看出,div比table在左右分栏和上下分栏上就节省了很多代码,而且最为关键的是,同样是嵌套,div的显示也会比table快。而如果加上定义外观的代码,那么table还要增加很多属性代码,而Div需要增加的就基本上只是id和class了。

具体的页面地址:http://www.bisu.edu.cn
(由于编辑器的原因,代码不符合XHTML标准,而且CMS系统输出的代码还含有单一表格,这是很无奈的事情) 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值