天天看点

Web开发者不可不知的15条编码原则

  HTML已经走过了近20的发展历程。从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展。但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意。下面,向大家介绍这些应该遵循的开发原则。

  当开发一个Web页面时,要考虑第一件事就是区分页面重点。将这些内容用DIV标签包含起来,页面的代码会呈现出整洁、缩进良好的风格。

1

2

3

4

5

6

<code>&lt;</code><code>div</code>

<code>id</code><code>=</code><code>"header"</code><code>&gt;&lt;/</code><code>div</code><code>&gt; </code>

<code>id</code><code>=</code><code>"body-container"</code><code>&gt; </code>

<code>        </code><code>&lt;</code><code>div</code>

<code>id</code><code>=</code><code>"content"</code><code>&gt; &lt;!-- Content -- &gt; &lt;/</code><code>div</code><code>&gt;   </code>

<code>id</code><code>=</code><code>"right-side-bar"</code><code>&gt; &lt;!-- Right Side Bar Content Area -- &gt;&lt;/</code><code>div</code><code>&gt; </code>

<code>&lt;/</code><code>div</code><code>&gt;   </code>

<code>id</code><code>=</code><code>"footer"</code><code>&gt;&lt;/</code><code>div</code><code>&gt; </code>

  好的页面应该将HTML标签和CSS样式表分割开来。这是每一个在首次接触Web开发时就应该知道的一条原则。然而,直到今天,仍然有很多开发者没有严格遵循这一原则。

不要在HTML标签里内嵌样式表代码。开发者应该养成习惯,单独建立文件,用以存放CSS样式表。而这也将方便其他开发者在修改你的代码时,能迅速完成工作。

<code>&lt;</code><code>p</code>

<code>style</code><code>=</code><code>"color: #CCC; font-size:16px; font-family: arial"</code><code>&gt;</code>

<code>    An example to illustrate inline style in html&lt;/</code><code>p</code><code>&gt;</code>

  现如今,为网站添加多个CSS文件的做法已经很普遍。但是,当网站包含的CSS文件过多时,会降低网站的响应速度。解决办法是:精简代码并对多个CSS文件进行优化,将其合并成一个文件。这个办法能显著提升网站的加载速度。此外,有很多工具可以用来优化CSS文件,例如、等。

  和CSS一样,为页面添加多个Javascript文件也是很普遍的做法。但这同样会降低网站的响应速度。为此,开发者应该精简、优化这些Javascript文件。

  但有一点和CSS不同,浏览器通常不支持并行加载。这也就是说,当浏览器加载Javascript文件时,将不再同时加载其它内容。而这就导致了网页的加载速度好像变慢了。

  一个好的解决办法是:将Javascript文件的加载顺序放在最后。为了实现这一目标,开发者可以把Javascript代码放在HTML文档的底部,而最好的位置是放在接近&lt;/body&gt;标签的地方。

  &lt;h1&gt; 到

&lt;h6&gt;这些元素用来突出页面的重点内容。这有助于用户更加关注页面的重点部分。对于博客,我(指本文作者)推荐使用&lt;h1&gt;标签来突出博客标题。因为,博客标题几乎是页面中最重要的部分。

<code>&lt;</code><code>h1</code><code>&gt;This is the topmost heading&lt;/</code><code>h1</code><code>&gt;</code>

<code>&lt;</code><code>h2</code><code>&gt;This is a sub-heading underneath the topmost heading.&lt;/</code><code>h2</code><code>&gt;</code>

<code>&lt;</code><code>h3</code><code>&gt;This is a sub-heading underneath the h2 heading.&lt;/</code><code>h3</code><code>&gt;</code>

  HTML标签是构造规范内容结构的关键。例如,&lt;em&gt;标签用来强调重点内容。&lt;p&gt;标签适用于突出文章段落。如果想要在段落间加空行,就不要使用&lt;br

/&gt;标签。

<code>&lt;</code><code>em</code><code>&gt;emphasized text&lt;/</code><code>em</code><code>&gt;</code>

<code>&lt;</code><code>strong</code><code>&gt;strongly emphasized text&lt;/</code><code>strong</code><code>&gt;</code>

  对于一组相关的元素,建议使用&lt;ul&gt;、&lt;ol&gt;或

&lt;dl&gt;标签。但是,不要错误的使用&lt;blockquote&gt;标签,因为它原本是用来定义块应用的。

  并不是所有块元素都应该用&lt;div&gt;标签来创建。例如,可以在内联元素的属性里添加display:block,将其以块元素的方式显示。

  使用&lt;ul&gt;列表标签,再配以相应的CSS样式,可以创建美观的导航菜单。

  现在,每当我回忆起在大学里学到的关于Web开发的第一堂课时,教授提到的HTML结构的重要性总是浮现在我的脑海。根据W3C标准,标签应该被封闭。那是因为,在一些浏览器下,如果没有按照标准来将标签封闭,会出现显示不正常的问题。而这一情况在IE6、7和8里尤为明显。

  标签采用小写语法是一项行业标准。虽然大写语法并不影响页面的显示效果,但是,代码的可读性很差。下面这段代码可读性就非常差:

<code>&lt;</code><code>DIV</code><code>&gt;</code>

<code>&lt;</code><code>IMG</code>

<code>SRC</code><code>=</code><code>"images/demo_image.jpg"</code>

<code>alt</code><code>=</code><code>"demo image"</code><code>/&gt;</code>

<code>&lt;</code><code>A</code>

<code>HREF</code><code>=</code><code>"#"</code>

<code>TITLE</code><code>=</code><code>"click here"</code><code>&gt;Click Here&lt;/</code><code>A</code><code>&gt;</code>

<code>&lt;</code><code>P</code><code>&gt;some sample text&lt;/</code><code>P</code><code>&gt;</code>

<code>&lt;/</code><code>DIV</code><code>&gt;</code>

  在&lt;img&gt;标签里,alt属性通常非常有用。因为搜索引擎通常无法直接抓取图片文件。但是,如果开发者在alt属性里添加了图片的描述内容,将会方便搜索引擎的抓取。

<code>&lt;!-- has an alt attribute, which will validate, but alt value is meaningless -- &gt;</code>

<code>&lt;</code><code>img</code>

<code>id</code><code>=</code><code>"logo"</code>

<code>src</code><code>=</code><code>"images/bgr_logo.png"</code>

<code>alt</code><code>=</code><code>"brg_logo.png"</code>

<code>/&gt;</code>

<code>&lt;!-- The correct way -- &gt;</code>

<code>alt</code><code>=</code><code>"Anson Cheung - Web Development"</code>

  为了提高代码质量,并让用户容易理解表格内容,我们应该用&lt;label&gt; 和 &lt;fieldset&gt;标签创建表格元素。

7

8

<code>&lt;</code><code>fieldset</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>legend</code><code>&gt;Personal Particular&lt;/</code><code>legend</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>label</code>

<code>for</code><code>=</code><code>"name"</code><code>&gt;Name&lt;/</code><code>label</code><code>&gt;&lt;</code><code>input</code>

<code>type</code><code>=</code><code>"text"</code>

<code>id</code><code>=</code><code>"name"</code>

<code>name</code><code>=</code><code>"name"</code>

<code>for</code><code>=</code><code>"email"</code><code>&gt;E-mail&lt;/</code><code>label</code><code>&gt;&lt;</code><code>input</code>

<code>id</code><code>=</code><code>"email"</code>

<code>name</code><code>=</code><code>"email"</code>

<code>for</code><code>=</code><code>"subject"</code><code>&gt;Subject&lt;/</code><code>label</code><code>&gt;&lt;</code><code>input</code>

<code>id</code><code>=</code><code>"subject"</code>

<code>name</code><code>=</code><code>"subject"</code>

<code>for</code><code>=</code><code>"message"</code>

<code>&gt;Message Body&lt;/</code><code>label</code><code>&gt;</code>

<code>  &lt;</code><code>textarea</code>

<code>rows</code><code>=</code><code>"10"</code>

<code>cols</code><code>=</code><code>"20"</code>

<code>id</code><code>=</code><code>"message"</code>

<code>name</code><code>=</code><code>"message"</code>

<code>&gt;&lt;/</code><code>textarea</code><code>&gt;</code>

<code>&lt;/</code><code>fieldset</code><code>&gt;</code>

<code>&lt;!--[if IE 7]&gt;</code>

<code>&lt;link rel="stylesheet" href="css/ie-7.css" media="all"&gt;</code>

<code>&lt;![endif]--&gt;</code>

<code>&lt;!--[if IE 6]&gt;</code>

<code>&lt;link rel="stylesheet" href="css/ie-6.css" media="all"&gt;</code>

<code>&lt;script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"&gt;&lt;/script&gt;</code>

<code>&lt;script type="text/javascript"&gt;</code>

<code>        </code><code>DD_belatedPNG.fix(‘#logo‘);</code>

<code>&lt;/script&gt;</code>