HTML5语法
HTML编码惯例
Web开发人员在使用HTML时,往往有不确定的编码风格和语法.
2000和2010之间,许多Web开发人员从HTML转换到XHTML.
在XHTML中,开发人员被迫写出有效的和结构良好的代码.
HTML5说到的代码验证有点儿马虎.
聪明和未来的证明
一个一贯使用的风格,让别人了解你的HTML更容易.
在未来,如XML阅读器,可以阅读你的HTML.
使用形式好的更“接近XHTML的”语法,可以更聪明.
始终保持您的代码整洁,干净,并形成良好.
使用正确的文档类型
始终将文档类型声明为文档中的第一行:
<!DOCTYPE html>
如果你想私有小写标签,您可以使用:
<!doctype html>
使用小写的元素名称
HTML5允许混合大写和小写字母的元素名称.
我们建议使用小写元素名称,因为:
- 混合大写和小写的名字是不好的
- 开发者通常使用小写名称 (像在XHTML里面一样)
- 小写字母看起来更干净
- 小写更容易写
不好的:
<SECTION> <p>这是一个段落.</p> </SECTION>
非常不好的:
<Section> <p>这是一个段落.</p> </SECTION>
好的:
<section> <p>这是一个段落.</p> </section>
关闭所有的HTML元素
在HTML5中,你不需要关闭所有的元素 (例如 <p>
元素).
我们建议您关闭所有的HTML元素.
不好的:
<section> <p>这是一个段落. <p>这是一个段落. </section>
好的:
<section> <p>这是一个段落.</p> <p>This is a paragraph.</p> </section>
关闭空的HTML元素
在HTML5中,是否关闭空元素是可选的.
允许的:
<meta charset="utf-8">
这也行:
<meta charset="utf-8" />
然而,关闭元素,使用反斜杠(/)是XHTML和XML要求的.
如果您希望XML软件访问您的页面,最好关闭元素!
使用小写属性名称
HTML5允许混合大写和小写属性名称.
我们建议使用小写属性名称,因为:
- 混合大写和小写的名字是不好的
- 开发者通常使用小写名称 (像在XHTML里面一样)
- 小写字母看起来更干净
- 小写更容易写
不好:
<div CLASS="menu">
好的:
<div class="menu">
引号括住属性值
HTML5允许属性值没有引号.
我们建议引用属性值,因为:
- 混合大写和小写的值是不好的
- 引号更容易阅读
- 如果值包含空格,则必须使用引号
很不好:
<table class=table striped>
不好:
<table class=striped>
好:
<table class="striped">
图像属性
总是为图片添加“alt”属性。当某些原因无法显示图像时,此属性非常重要。此外,始终定义图像宽度和高度。它减少了闪烁,因为浏览器可以预留空间的图像加载前。
不好:
<img src="html5.gif">
好:
<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">
空间与等号
HTML5允许在等号的空格。但空间更小更容易阅读,更好地组合实体.
不好:
<link rel = "stylesheet" href = "styles.css">
好:
<link rel="stylesheet" href="styles.css">
避免长代码行
使用HTML编辑器时,它是向右滚动不便读取右边的HTML代码.
尽量避免代码行长于80个字符.
原文:http://www.codingdict.com/article/1454

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高并发下log4j的性能瓶颈
开篇 近期由于业务需要进行业务迁移,期间因为误设置log4j的日志级别,导致系统性能整体下降,具体表现在QPS下降明显,系统RT上升。迁移期间由于各类系统环境较原来有较大差别,因为在排查过程中也走了一些弯路,总结起来避免他人再次踩坑。 问题背景 问题的背景其实很简单,线上系统的log4j的日志级别由warn调整为info,导致大量的调用log4j的日志接口,导致系统的rt上升伴随着qps下降,具体的影响效果可以看下图。 需要额外解释的就是log4j的这个问题需要在qps较大的情况下才会复现,按照我遇到的情况基本上需要在2k/s以上会比较明显(数据不一定非常准确),只是为了说明需要在大量请求的情况才会触发synchronized的问题。 当然问题的本质在于大量调用log4j的日志接口,导致竞争synchronized影响性能,影响的时间应该也是在ms级别,这其实在另外一个方面说明了只求非常极致追求性能问题才会细致的去分析这些问题。 优化效果 优化后qps的提升效果图,这边是以分钟进行统计的。 优化后系统的响应时间效果图。 现象分析 整个分析过程其实并不是那么具有条理性,只是现在...
- 下一篇
c调用c++函数
c调用c++普通函数 cpp_test/cpp.h #ifndef CPP_H #define CPP_H #include "extern_cpp.h" int add(int a, int b); char add(char a, char b); #endif // CPP_H cpp_test/extern_cpp.h #ifndef EXTERN_CPP_H #define EXTERN_CPP_H #ifdef __cplusplus extern "C" { #endif int add_int(int a, int b); char add_char(char a, char b); #ifdef __cplusplus } #endif #endif // EXTERN_CPP_H cpp_test/cpp.cpp #include "cpp.h" #include <iostream> int add(int a, int b) { std::cout << "int a+b=" << a+b << std::e...
相关文章
文章评论
共有0条评论来说两句吧...