1、善用DIV来布局
当开发一个Web页面时,要考虑第一件事就是区分页面重点。将这些内容用DIV标签包含起来,页面的代码会呈现出整洁、缩进良好的风格。
?123456 <div id="header"></div> <div id="body-container"> <div id="content"> <!-- Content -- > </div> <div id="right-side-bar"> <!-- Right Side Bar Content Area -- ></div> </div> <div id="footer"></div>
2、将HTML标签和CSS样式表分割开来
好的页面应该将HTML标签和CSS样式表分割开来。这是每一个Web开发者在首次接触Web开发时就应该知道的一条原则。然而,直到今天,仍然有很多开发者没有严格遵循这一原则。
不要在HTML标签里内嵌样式表代码。开发者应该养成习惯,单独建立文件,用以存放CSS样式表。而这也将方便其他开发者在修改你的代码时,能迅速完成工作。
?12 <p style="color: #CCC; font-size:16px; font-family: arial"> An example to illustrate inline style in html</p>
3、优化CSS代码
现如今,为网站添加多个CSS文件的做法已经很普遍。但是,当网站包含的CSS文件过多时,会降低网站的响应速度。解决办法是:精简代码并对多个CSS文件进行优化,将其合并成一个文件。这个办法能显著提升网站的加载速度。此外,有很多工具可以用来优化CSS文件,例如CSS Optimizer、Clean CSS等。
4、优化Javascript文件,并将其放到页面底部
和CSS一样,为页面添加多个Javascript文件也是很普遍的做法。但这同样会降低网站的响应速度。为此,开发者应该精简、优化这些Javascript文件。
但有一点和CSS不同,浏览器通常不支持并行加载。这也就是说,当浏览器加载Javascript文件时,将不再同时加载其它内容。而这就导致了网页的加载速度好像变慢了。
一个好的解决办法是:将Javascript文件的加载顺序放在最后。为了实现这一目标,开发者可以把Javascript代码放在HTML文档的底部,而最好的位置是放在接近</body>标签的地方。
5、善用标题元素
<h1> 到 <h6>这些元素用来突出页面的重点内容。这有助于用户更加关注页面的重点部分。对于博客,我(指本文作者)推荐使用<h1>标签来突出博客标题。因为,博客标题几乎是页面中最重要的部分。
?123 <h1>This is the topmost heading</h1> <h2>This is a sub-heading underneath the topmost heading.</h2> <h3>This is a sub-heading underneath the h2 heading.</h3>
6、在合适的地方使用合适的HTML标签
HTML标签是构造规范内容结构的关键。例如,<em>标签用来强调重点内容。<p>标签适用于突出文章段落。如果想要在段落间加空行,就不要使用<br />标签。
?12 <em>emphasized text</em> <strong>strongly emphasized text</strong>
对于一组相关的元素,建议使用<ul>、<ol>或 <dl>标签。但是,不要错误的使用<blockquote>标签,因为它原本是用来定义块应用的。
7、避免滥用<div>标签
并不是所有块元素都应该用<div>标签来创建。例如,可以在内联元素的属性里添加display:block,将其以块元素的方式显示。
8、使用列表创建导航
使用<ul>列表标签,再配以相应的CSS样式,可以创建美观的导航菜单。
9、别忘了封闭标签
现在,每当我回忆起在大学里学到的关于Web开发的第一堂课时,教授提到的HTML结构的重要性总是浮现在我的脑海。根据W3C标准,标签应该被封闭。那是因为,在一些浏览器下,如果没有按照标准来将标签封闭,会出现显示不正常的问题。而这一情况在IE6、7和8里尤为明显。
10、标签小写语法
标签采用小写语法是一项行业标准。虽然大写语法并不影响页面的显示效果,但是,代码的可读性很差。下面这段代码可读性就非常差:
?12345 <DIV> <IMG SRC="images/demo_image.jpg" alt="demo image"/> <A HREF="#" TITLE="click here">Click Here</A> <P>some sample text</P> </DIV>
11、为图片标签添加alt属性
在<img>标签里,alt属性通常非常有用。因为搜索引擎通常无法直接抓取图片文件。但是,如果开发者在alt属性里添加了图片的描述内容,将会方便搜索引擎的抓取。
?12345 <!-- has an alt attribute, which will validate, but alt value is meaningless -- > <img id="logo" src="images/bgr_logo.png" alt="brg_logo.png" /> <!-- The correct way -- > <img id="logo" src="images/bgr_logo.png" alt="Anson Cheung - Web Development" />
12、在表格里使用<label> 和 <fieldset>
为了提高代码质量,并让用户容易理解表格内容,我们应该用<label> 和 <fieldset>标签创建表格元素。
?12345678 <fieldset> <legend>Personal Particular</legend> <label for="name">Name</label><input type="text" id="name" name="name" /> <label for="email">E-mail</label><input type="text" id="email" name="email" /> <label for="subject">Subject</label><input type="text" id="subject" name="subject" /> <label for="message" >Message Body</label> <textarea rows="10" cols="20" id="message" name="message" ></textarea> </fieldset>
13、将浏览器兼容代码标明信息并相互分开
对一名Web开发者来说,跨浏览器兼容是一个被重点关注的问题。通常,开发者会针对不同的浏览器来编码,也即是CSS hack。但是,如果开发者在编码时,能注明代码为哪一个版本的浏览器所写,会为以后的维护工作带来极大方便。下面就是一个很好的示例:
?123 <!--[if IE 7]> <link rel="stylesheet" href="css/ie-7.css" media="all"> <![endif]-->
?1234567 <!--[if IE 6]> <link rel="stylesheet" href="css/ie-6.css" media="all"> <script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script> <script type="text/javascript"> DD_belatedPNG.fix('#logo'); </script> <![endif]-->
14、避免过度注释
作为一名开发者,在代码中添加注释是一个好习惯,能方便理解并易于维护。这在其它编程语言如PHP、JAVA 和 C#里很普遍。但是,HTML/XHTML是文本标记语言,非常容易理解。因此,无需为每行代码都添加注释。
15、测试代码
推荐开发者使用W3C文本标记验证服务来测试代码。它是一个高效的测试工具,能帮助你发现页面中存在的错误。而且,它还能从页面错误出发,帮你定位到相应的代码。这一点通常在编码完成后很难做到。但开发者需要注意的是,验证通过的代码并非就是性能优异的代码。
英文原文:10+ HTML Best practices for Web Developer
分享到:
相关推荐
微信小程序-乐助 说明: 实现任务交易完整功能,特色: 地图选择自己位置 数据接口: ...https://api.getweapp.com/vendor/lezhu/postNeed ...微信web开发者工具 v0.11.112301 项目截图: https://www.getweapp.com/pr
地址栏输入chrome://extensions/,然后把下载的插件拖上去,记得打开开发者模式
Atom-valhalla.zip,Paradise for Vala developers (no longer maintained, please use https://github.com/naaando/ide-vala)这个包旨在将atom变成一个强大的vala ide。...,atom是一个用web技术构建的开源文本编辑器。
微信小程序-芒果TV 说明: 实现了湖南卫视首页精选及分类展示,搜索热门,王牌强档以及视频播放...微信web开发者工具 v0.10.102800 项目截图: https://www.getweapp.com/project?projectId=5832d0d1bb2538f8186c707b
微信web开发者工具 v0.11.122100 项目截图: https://www.getweapp.com/project?projectId=58932b1452e1e8733dc567f4 感谢: 本项目原始版本由airingursb提供:https://github.com/airingursb/miemie
微信小程序-v2ex 说明: 简单的v2ex客户端,实现了获取最新文章,最热文章,所有节点,文章详情等的数据展示。 数据接口: ...pages — 存放项目页面相关文件,一共包括detail,hotest,latest,...微信web开发者工具 v0.10.1
编程学习 ...https://www.w3school.com.cn/index.html 11. 编程之家官方手机版 https://m.jb51.cc/ 12. 博客园 - 开发者的网上家园 https://www.cnblogs.com/ 13. 菜鸟教程 - 学的不仅是技术,更是梦想! ...
爱萌开发者是爱萌公司基于IM sdk的一款即时通讯app,app已于2015年初上架到APP Store。 此APP主要应用IM sdk即时通讯插件,为广大开发者作为开源并示例,欢迎广大开发者下载试用,有问题请反馈到邮箱support@imsdk....
微信小程序-云课堂 说明: 实现小提示功能,特色: 轮播图 动画 模板 数据接口: ...微信web开发者工具 v0.11.122100 项目截图: https://www.getweapp.com/project?projectId=5893187c52e1e8733dc567ee
本书的目标读者是:包含了没有经过较长游戏编程学习经验的开发者,打算在iPhone平台上开发游戏开发者。 非目标读者:有自己一套创建游戏的流程和固定的游戏思维,打算开发3d的,本书不适合你。虽然现在cocos3D已经...
1. 地址栏键入chrome://extensions/ 或者 自定义及控制按钮(右上角) -> 更多工具 -> 扩展程序 (有可能需要打开开发者模式). 2. 拖拽DreamAfterNewTab_0_3_12_0.crx到扩展管理界面 3. 点击添加扩展程序 原始路径: ...
安卓开发者网站https://developer.android.com/官网下载 国内好像不能直接访问,真是不懂这个网站为什么会被墙
如果API失效后可用浏览器,进入https://urlsec.qq.com/check.html 点击查询然后用开发者工具,点击network查看参数...批量查询请写for循环,个人检测可直接调用输出json格式,如果想要实时监测可写发信系统再加定时任务
http://code.alibabatech.com/wiki/display/dubbo的拷贝。 HTML文件在分支gh-pages上,打包下载ZIP包。 关键的文档的链接: 用户指南: http://alibaba.github.io/dubbo-doc-static/User Guide-zh.htm 开发者指南...
有兴趣的朋友可在 http://www.interdrp.com/ 下载分销系统 用测试帐号进系统后,点测试程序,再点WEB下载 可以看见效果 https://www.interdrp.com/software/ReYoWebDownLoad.zip(点击下载此控件) API说明 ...
微信小程序-滴滴作业 说明: 实现找小学生的家庭作业辅导老师功能,特色: ...微信web开发者工具 v0.11.112301 项目截图: https://www.getweapp.com/project?projectId=5842f3bee8ff074c22472f5b
微信小程序教程资料和开发工具大全,文档、代码、例子微信小程序开发者文档官网地址 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html
webApp-demo 微信小程序 demo / ...查看『微信Web开发者工具』内容 替换以下文件 /Resources/app.nw/app/dist/components/create/createstep.js /Resources/app.nw/app/dist/stores/projectStores.js 运行『微信
社区版包含Visual Studio专业版所有重要的功能,并且专门为独立开发者、学生、开源软件贡献者以及小规模开发团队设计和优化。社区版不需要付费,是免费使用。对开发人员来说最大的差别在于express不支持ankhsvn,也不...
微信web开发者工具 v0.11.122100 项目截图: https://www.getweapp.com/project?projectId=58a57e5252e1e8733dc56802 感谢: 本项目原始版本由AndrewZheng提供:https://github.com/AndrewZheng/DiesaseSearch