HTML编码建议And如何更好的编码

整理了HTML编码的一些东西,鉴于这东西已经被很多人都说过了,我这里算是个总结吧,后面部分会添加一些自己想说的东西。

1、<!DOCTYPE HTML>
     让浏览器自己选择渲染页面的标准,同时为了拥抱未来

2、<meta charset="utf-8" />
     定义页面字符编码,精简的代码,同样的效果

3、样式文件放头部,且尽量减少引入的文件数量

<head>
        <!--CSS样式-->
        <link rel="stylesheet" href="xxx.min.css" />
</head>

4、脚本文件放底部,当发布项目的时候尽量压缩合并

 <body>
     <!--JS代码-->
     <script src="xxx.min.js"></script>
</body>

5、为页面添加注释

 <!--头部header-->
<header></header>

<!--头部header-->
<div class="content"></content>

<!--底部Footer-->
<footer></footer>

6、缩进和换行
使用4个空格作为一个缩进层级,大多数时候,开发工具帮助我们完成了此项内容。

// 不建议
<ul><li><a href="#"></a></li><li><a href="#"></a></li></ul>

// 建议
<ul>
        <li><a href="#"></a></li>
        <li><a href="#"></a></li>
</ul>

7、标签闭合

// 不建议
<br >
<p> xxxx
<p>xxxx

// 建议
<br />
<p>xxx</p>
<p>xxx</p>

8、标签名小写,标签属性值添加双引号

// 不建议
<P data-id=p1></P>

// 建议
<p data-id="p1"></p>

9、使用CSS为页面添加图片
当然页面上的动态内容还是必须使用<img src="#" />标签的

10、为图片标签添加alt和title属性,图片的src属性不能为空

<img alt="" title="" src="#" />

11、为页面当中的块结构底部添加空白行

<header>
        <h1>w3cfuns</h1>
</header>

<div class="content">
        // something
</div>

<footer>
        <p class="copyRight"></p>
</footer>

12、去除样式引用和脚本引用当中的type属性

13、标签语义化

    • 结构性元素:
              p:表示段落,只能包含内联元素,不能包含块级元素
              div:本身舞特殊含义,可用于布局,几乎可以包含任何元素
              br:表示换行符
              hr:表示水平分隔符
              h1-h6:表示标题。其中h1用于表示当前页面最重要内容的标题,建议每个页面只有一个H1标签
              blockquote:表示引用,可以包含多个段落。请勿纯粹为了缩进而使用blockquote,大部分浏览器默认将blockquote渲染为带有左右缩进
              pre:表示一段格式化好的文本
    • 头部元素:
              title:每个页面必须有且仅有一个title元素
              base:可用场景——首页,频道等大部分链接为新窗口打开的页面
              link:用于引入CSS资源时,可省去media和type属性
              style:type默认为text/css,可以省去
              script:type属性可以省去;不赞成使用lang属性;不要使用古老的<!-//-->这种hack脚本,它用于阻止第一代浏览器将脚本显示成文字;
    • 列表元素:
              ul:表示无须列表
              ol:表示有序列表,可用于排行榜等;
              li:表示列表项,必须是ol/ul的子元素
              dl:表示关联列表,dd是对dt的解释;dt和dd的对应关系比较随意:一个dt对应多个dd、多个dt对应一个dd、多个dt对应多个dd,都合法;可用于名称单词解释、日程列表、站点目录;
    • 文本元素:
              a:存在href属性时表示链接,无href属性但有name属性表示锚点
              em,strong,i,b:表示句意强调,加与不加会引起语义变化,可用于表示不同的心情或语调;strong表示重要性强调,可用于局部或全局,strong强调的是重要性,不会改变句意;
              abbr:表示缩写
              sub,sup:主要用于数学和化学公式,sup还可用于脚注
              span:本身舞特殊含义
              ins,del:分别表示从文档中增加(插入)和删除
    • 表单元素:
              推荐使用button代替input,但必须声明type属性
              推荐使用fieldset,legend组织表单
              表单的name不能设定为action,enctype,method,novalidate,target,submit会导致表单提交混乱


上面说的都是一些基本的东西,在开发过程当中多注意养成习惯就好了,一方面是为了网页的性能优化,另一方面是为了团队之间的可维护性。下面是在HTML开发过程当中我自己的想法,分享出来给大家参考参考。     首先就是先背熟HTML标签以及相对应每个标签的含义和附加的属性,只有在掌握了每一种HTML标签的的含义,我们才能够更合理的把他们应用到我们的页面当中,万丈高楼平地而起,这些看是很基础的东西,有时候会搞的我们崩溃,踏踏实实把这些了解清楚,真的很重要,尽管不全部了解他们仍然能够胜任日常的工作,但要是想在这条路上走的长久,还是建议熟被他们,这应该花费不了多长时间。     然后就是阅读别人网站的源代码,模仿开始,多看看那些优秀网站的源代码,了解下他们是如果针对页面上的组件编写结构代码的。比如:下拉框、选项卡、横向图片轮播,瀑布流,留言板,商品筛选,商品列表和商品详情等等,然后比较下它们之间的不一样,区别在哪里,相同点在哪里,自己消化之后就可以为我所用了,当然这部分工作平常不用去做,等到我们拿到设计师做好的效果图的时候,再去了解应该会比较有动力一些。     接下来就是搭建页面的框架,我强力抗议,在一张页面的HTML结构代码没有写完之前,就动手开始写CSS样式,一定要先把页面的整个HTML代码结构定义好了之后,再去写你的CSS样式表。在开始写CSS样式表之前,你可以打开它在浏览器当中查看下,看看在没有样式表的时候,能不能像读文章一样知道,哪里是标题,哪里是列表,哪里是段落,哪里是重复的内容。     下面就可以开始编写CSS样式表了,找出页面当中那些是可以复用的部分,定义好class类名,一步一步编写,最后项目差不多结束的时候,优化CSS样式文件,提取可复用的部分,进行精简。     关于前端项目文件结构目录的一些见解,下次有机会在说吧,如果你有好的工作方法方式,优美的项目文档结构方案,也可以分享下!

参考资料:

https://github.com/fex-team/styleguide/blob/master/html.md

http://docs.kissyui.com/1.3/docs/html/tutorials/style-guide/html-coding-style.html

http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml

转自:http://www.w3cfuns.com/blog-5435321-5402088.html

时间: 2024-11-18 19:37:22

HTML编码建议And如何更好的编码的相关文章

iOS开发编码建议(Objective-C)(持续更新中)

在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的编码建议. [1] 任意函数长度不得超过50行.(其实很容易就超过50行,这就要考虑代码抽取了.) [2] 任意行代码不能超过80字符.(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行.)可以在Xcode中设置超过80个字符的提醒,选中"Page guide at column".设置完之后就会在代

【转】使用 WebGL 进行 3D 开发,第 2 部分: 使用 WebGL 库以更少的编码做更多的事情

转自HTML5开发社区 使用 WebGL 进行 3D 开发,第 1 部分: WebGL 简介使用 WebGL 进行 3D 开发,第 2 部分: 使用 WebGL 库以更少的编码做更多的事情使用 WebGL 进行 3D 开发,第 3 部分: 添加用户交互 WebGL API 让 JavaScript 开发人员能够直接利用如今的 PC 及移动设备硬件中强大的内置 3D 图形加速功能.现代浏览器透明地支持 WebGL,它使人们可以为主流 Web 用户创建高性能的 3D 游戏.应用程序以及 3D 增强的

文件编码和文件内的字符串字面值编码是两个概念

我们知道,CALabel的字符串使用的是UTF8编码,通常在xcode下,直接CALabel *p = ...; p->setText("汉字"),显示汉字是没有任何问题的,但是,在VS2013中却显示的是乱码.很多人在群里面问了,我都答:请使用UTF8编码.他说,我的文件是UTF8格式的啊.呵呵,没那么简单好吗,文件编码和字符串字面值编码是两个概念. VS2013的一条预编译指令#pragma execution_character_set("utf-8")

MySQL的字符编码体系(一)——数据存储编码

安装MySQL好多次了,每次都会纠结于数据库的字符编码配置,所以我决定这一次彻底把它理清. MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码.本篇讨论数据存储编码部分,数据传输编码在下一篇MySQL的字符编码体系(二)--数据传输编码中讨论. 编码层次 数据存储的字符编码配置是指定数据库中存储的数据默认采用什么字符编码.默认字符编码的设置分为四个层次:服务器级.数据库级.数据表级和列级.也就是说,可以为服务器设置一个默认字符编码,再为服务器中的每一个数据库设置不同

转换编码,将Unicode编码转换成可以浏览的utf-8编码

//转换编码,将Unicode编码转换成可以浏览的utf-8编码 public function unicodeDecode($name) { $pattern = '/([\w]+)|(\\\u([\w]{4}))/i'; preg_match_all($pattern, $name, $matches); if (!empty($matches)) { $name = ''; for ($j = 0; $j < count($matches[0]); $j++) { $str = $matc

采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用

题目:有一个字符串:cabcedeacacdeddaaaba,问题: (1)采用霍夫曼编码画出编码的过程,并写出各字符的编码 (2)根据求得的编码,求得各编码需要的总位数 (3)求出整个字符串总编码长度,并计算出字符串位数在编码前与编码后的比值 解答: (1)各字符出现频率统计如下表所示. |符号 |出现次数 |出现频率| |--|--|--| | a |7|0.35| |b|2|0.1| |c|4|0.2| |d|4|0.2| |e|3|0.15| 编码过程如下图所示: 各字符编码如下表所示:

记一个奇怪的编码转换问题,及探讨“错误: 编码GBK的不可映射字符” 的原因

什么情况? 下面的一段简单代码,发现了奇怪的编码问题: String docPath = "姝f枃";// docPath = "正文"; // 注释1System.out.println("default = " + docPath); String docPath1 = new String(docPath.getBytes(), "GBK");System.out.println("GBK = " +

将UTF-8编码的文件读出,保存到编码为GBK的文件中

1 import java.io.BufferedReader; 2 import java.io.BufferedWriter; 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStreamReader; 8 import

IOS-OC 编码建议

“神在细节之中” Objective-C 是 C 语言的扩展,增加了动态类型和面对对象的特性.它被设计成具有易读易用的,支持复杂的面向对象设计的编程语言.它是 Mac OS X 以及 iPhone 的主要开发语言. Cocoa 是 Mac OS X 上主要的应用程序框架之一.它由一组 Objective-C 类组成,为快速开发出功能齐全的 Mac OS X 应用程序提供支持. 而在日常的编程中,我们除了要写代码,还需要去阅读别人的代码,熟悉过往的业务逻辑.不知,你可曾发过牢骚:这代码怎么能这么写