导航

优化html的一些方法

Posted on 2004-07-03 14:02  ChenRui  阅读(3375)  评论(13)    收藏  举报

最近拜读了一些html的著作,总结出一些优化html的方法。
一、首先说说为什么要优化html?
网页的字节数增大,会导致网页显示速度降低。通常一些网页制作软件会加入

一些冗余的html代码。在这方面,最“突出”的要数word了,大家可以试试打

几个字然后另存为网页,然后查看其源代码,就会有所发现了。
二、介绍一些基本的优化方法:
1、删除一些可由可无的内容
主要指冗余的空格、制表符、空白行、双引号、单引号、注释等。
例:
原:

<table>
 
<tr>
   
<td>a</td>
 
</tr>
 
<tr>
   
<td>b</td>
 
</tr>
 
<tr>
   
<td>c</td>
 
</tr>
</table>

经过优化(主要删除缩进造成的多余空格)
<table>
<tr>
<td>a</td>
</tr>

<tr>
<td>b</td>
</tr>

<tr>
<td>c</td>
</tr>
</table>
其他细节,由于篇幅所限就不一一介绍了。
2.删除网页代码中的空语句

<span style='font-family:宋体'>
你好<span lang=EN-US><o:p></o:p></span>
</span>

很明显,在“你好”后边的那些语句是没有任何作用的,我们可以把它删掉。
3.删除html的默认属性
html语言有很多的默认属性,比如对齐,字体、颜色……,但网页制作软件会

加入这些无用的代码。
如:align属性默认是左对齐,所以在左对齐时我们没必要写"align=left"。
(其他情况不一一介绍了)
4.优化<option>
大家知道在html里,<select><option>??</option></select>用来生成

listbox,但是实践告诉我们,结束符</option>是可以省略的。
此外,如果诸如<option value=x>x</option>的一些语句(value与语句内容

一样)时,value可以省略。
例:

<select name=province>
<option value=Beijing>Beijing</option>
<option value=Tianjin>Tianjin</option>
<option value=Hebei>Hebei</option>
<option value=Shanxi>Shanxi</option>
<option value=Henan>Henan</option>
</select>

经过优化:

<select name=provice>
<option>Beijing
<option>Tianjin
<option>Hebei
<option>Shanxi
<option>Henan
</select>

显而易见,如果listbox内容较多时,优化效果是非常明显的,代码量可以减

少到50%。
但是,如果value与内容不一样时,这种方法就不适用了。
5.用一个<basefont>语句代替一组<font>语句
网页制作软件为了防止乱码会在每个汉字段落添加<font>语句。
如:

<p><font face=楷体_GB2312 size=5 color=blue>天苍苍,</font>
<p><font face=楷体_GB2312 size=5 color=blue>野茫茫,</font>
<p><font face=楷体_GB2312 size=5 color=blue>风吹草低见牛羊。</font>

为了优化这些语句,可以用一个<basefont>完成。

<basefont face=楷体_GB2312 size=5 color=blue>
<p>天苍苍,
<p>野茫茫,
<p>风吹草低见牛羊。

这样做的优化效果也是很明显的。
6.用一个<ul>简化一组<li>
<li>用来生成一组项目的列表,拥有type属性,可以在每个项目之前加修饰性

的标志。
如:
 

   <li type=square>
  
<li type=circle>
<li type=disc>

下面介绍如何用<ul>简化<li>
先给出一个例子:
 

<li type=circle>a
 
<li type=circle>b
 
<li type=circle>c
 
<li type=circle>d
 
<li type=circle>e
 
<li type=circle>f
 
<li type=circle>g
 
<li type=circle>h

用<ul>简化
 

<ul type=circle>
 
<li>a
 
<li>b
 
<li>c
 
<li>d
 
<li>e
 
<li>f
 
<li>g
 
<li>h
 
</ul>