良好的HTML代码是一个漂亮网站的基础。当我教别人CSS的时候,我总是首先告诉他们:良好的CSS只存在于良好的html标记基础上。这就好像一间房子需要一个坚固的地基一样,对不? 整洁、语义化的HTML标记具有很多的优势,但却还是有很多网站使用着并不友好的标记写法。
让我们来看一些写得并不友好的HTML标记, 并针对这些问题进行讨论,从而学习如何书写整洁规范的HTML标记。
1、严格的 DOCTYPE
我们要做到这一点,只需要按正确的步骤来做即可。没必要去讨论是否使用HTML 4.01或XHTML 1.0,两者都对我们书写正确的代码提出了严格的要求。
但无论如何我们的代码不应该使用任何Tables表格来进行布局, 所以也就没必要使用Transitional DOCTYPE.
相关资源:
2、Character set & encoding characters
在我们的 <head> 部份, 第一件事情就是声明字符集. 我们使用了UTF-8, 但是把它放到了 <title> 后面. 让我们把字符集声明移动到最上面,因为我们要让浏览器在阅读任何内容之前就应该知道以何种字符集来进行处理。
除了字符集声明的位置外,<title> 中出现的奇怪字符也是需要注意的问题,比如最常用的“&”字符,我们应该使用字符实体“&”来替换它。
相关资源:
3、适当的缩进
在书写代码的时候,缩进并不会影响网页的外观,但使用适当的缩进能使代码更具可读性,标准的缩进方法是当你开始一个新的元素时缩进一个Tab位(或几个空格)。另外,记得,关闭元素的标签与开始标签对齐。
4、使用外部CSS 和 javascript
我们有一些CSS代码已经延伸到我们的 <head> 部分。这是一个严重的犯规,因为它只能适用于单一的HTML网页。保持独立的CSS文件意味着未来的网页可以链接到它们,并使用相同的代码。Javascript也是同样的道理。
5、正确的标签嵌套
在我们的网站标题里面,我们使用<h1>作为网站标题标签,这是完美的。并且添加了一个到首页的链接,但错误就出在把链接放到了<h1>外面,<a>链接包围了<h1>。这种简单的嵌套错误,大多数浏览器都能良好的处理,但从技术上来说,这是不行的。
锚链接是一个内联元素,而<h1>标题是一个区块元素,区块元素不应该被放在内联元素中。
6、去除不必要的DIV
我不知道谁首先发明,但我喜欢“ divitis ”这个词,它指的是在HTML标记中过度的使用divs。在学习网页设计的某个阶段,大家学习如何使用一个DIV来包裹诸多其它元素来实现方便的布局和样式化。这就导致了DIV元素的滥用,需要的地方我们用了,完全不必要的地方我们也用了。
在上图的例子中,我们使用了一个DIV(”topNav”) 来包含了UL列表 (”bigBarNavigation”),但DIV和UL都是区块元素,所以没有必要使用DIV来包裹UL元素。
相关资源:
Divitis: what it is, and how to cure it.
7、使用更好的命名惯例
现在正好谈一下命名管理, 在上一条所说的示例中,我们的UL使用了ID名称 “bigBarNavigation.” 其中 “Navigation” 很好的说明了该区块的内容,但 “big” 和 “Bar” 描述的却是设计而不是内容. 它可能是在说这个菜单是一个很大的工具条, 但如果这个菜单的设计变成垂直的,那这个名称就会显得混乱和不相关。
友好的 class 和 id 名称 例如 “mainNav”、 “subNav” 、“sidebar” 、“footer” and “metaData” ,它们描述了所包含的内容。不好的 class 和 id 名称则描述设计,比如 “bigBoldHeader” 、“leftSidebar” and “roundedBox” 等。
8、把字型排版留给CSS
在菜单的设计中,我们一般都使用大写字母。这很简单啊,把菜单项写成大写的不就行了?但为了将来的可扩展性,我们不应该这么做。在代码中,我们应该仍然使用标准的单词大小写写法,或完全写成小写。而之后,我们可以通过CSS来改变文字的字型,比如通过 text-transform:uppercase; 把字母转换为大写,通过 text-transform:capitalize; 把转换为单词首字母大写。
9、给 <body>指定Class或id
有的时候,网页中的同一个区块,但在不同页面的时候,我们会对其进行不同的样式化。很多时候,我们会为这个相同的区块取一个新的名称,比如为新样式的DIV区块添加一个“mainContent-500.”的ID属性,为比较窄的侧边栏添加为<class=”narrowSidebar”>。
这并不是一个良好的长期解决方案。正如我们第7条指出的,我们需要友好且保持一致的命名惯例。而不是增加一些花俏的新ID或CLASS名称。
为需要样式化某个区块的不同页面指定一个独立的body ID或class将会非常有用。因为页面的所有内容都包含在body标签之中。指定Body名称后,你可以通过CSS Hook来完全重新定义某一个元素的样式。举个例子,原先的页面中,我们对sidebar进行了背景定义.sidebar{background:#FF0;”}而在新的<body class="aboutpage">中,我们要把sidebar的背景弄成黑色,那很简单,使用boy.aboutpage .sidebar{background:#000;} 即可。
相关资源:
10、验证
一些小的HTML代码错误可能并不会对网页内容有多大影响,但通过W3C验证的代码将更有利于网页内容展示。比如下图示例中的图象,缺少自关闭标记和ALT属性。
就算没有其它原因,通过 W3C验证时看到绿色的通过提示也是件让人舒服的事情。
相关资源:
11、逻辑顺序
如果有可能的话,尽量保持你的网页部份代码以逻辑顺序来排列是最佳的. 比如下图中,footer放在了sidebar上面,这可能是设计上的需要,内容下面正好是Footer底部,然后才是侧边栏。但如果能通过技术解决,比如Position定位,那你应该把footer放到最下面。
12、Just do what you can
我们已经总结了很多让HTML代码书写的更加简洁的原则在这里,这将是一个很好的开始,但还有更多。当你试图修复你现在的代码,可能会发现很困难,而如果你完全当做从头开始学习,却可能会容易的多。不管如何,重要的是,你应该学习如何撰写良好的HTML并且坚持下去。
当你下次书写一个HTML代码项目时,谨记这些简洁原则,Just do what you can, You’ll do better!
补充说明:
装载地址:http://www.w3cfuns.com/forum.php?mod=viewthread&tid=575&extra=page%3D1
本来还有一些比较趣味的图片,但是转载没有成功。大家可以看原文。点击上面的地址
分享到:
相关推荐
读书笔记:JavaScript版本代码整洁之道中文版
读书笔记:学习《代码整洁之道》这本书的测试代码以及24种设计模式的样例代码学习写出优雅的代码。
总结来说,《代码整洁之道》倡导的是一种专业主义的态度,它要求我们重视代码的质量,通过持续改进和重构保持代码的整洁,利用单元测试确保代码的可靠性,并遵循一致的编码规范以提高团队的协作效率。这份压缩包中的...
标题和描述中提到的知识点是关于Web前端开发中如何保持代码整洁的11个原则,这一部分主要聚焦在HTML和CSS的最佳实践上。下面将详细展开这些原则: ### 一、DOCTYPE的声明 DOCTYPE声明是HTML文档的第一行,用于告诉...
这本书强调了编写可读性好、易于维护的代码的重要性,提出了许多关于代码整洁性的原则和实践方法。以下是对书中核心知识点的详细阐述: 1. **代码就是沟通**:代码不仅是计算机执行的语言,更是开发者之间交流思想...
本文将基于《修改软件的艺术:构建易维护代码的9条最佳实践》一书,深入探讨这9条关键原则,帮助提升软件的可维护性。 1. 清晰的命名:一个变量、函数或类的命名应当准确反映其功能或意图。好的命名可以减少理解...
读书笔记:TypeScript 代码整洁之道
一个团队若要确保每个人都能轻易理解代码,就需要保持代码的整洁。这不仅可以减少技术债务,还能使项目在长期运行中保持高效。在软件生命周期初期投入精力编写整洁的代码,虽然短期内可能会增加成本,但长期来看,...
读书笔记:《代码整洁之道》
读书笔记:SPA代码整洁之道读书笔记
读书笔记:《代码整洁之道》Golang版本
读书笔记:《代码整洁之道》中文翻译
读书笔记:《代码整洁之道》部分源码
读书笔记:代码整洁之道
《代码整洁之道》是软件开发领域的一本经典著作,由著名程序员Robert C. Martin(也称为Uncle Bob)所著。这本书主要关注如何通过编写整洁、可读性强的代码来提高软件的质量和可维护性。幻灯片笔记是对这本书内容的...
读书笔记:代码整洁之道翻译
读书笔记:代码整洁之道 第14章代码
读书笔记:代码整洁之道读书笔记