今天在EDITPLUS 研究从网上DOWN的例子 发现竟然实现跑不起来. 但是把源例子放EDITPLUS里面竟然是可以运行的。。
后来用对比工具 发现竟然是第一行有问题
EDITPLUS 默认的HTML第一行是
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
而源例子的第一行是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
相信这个时候大家已经明白了
就是后面这个DTD起的作用
百度了一下 有人已经总结了地址如下
http://jdiqssu.blog.163.com/blog/static/666413942009916822833/
1. 必须在页面最顶部加上 DOCTYPE 的声明。如果不加这个声明,浏览器就会按照 HTML 4.0 的方式来处理,而不把页面当作 XHTML 处理。
HTML is the publishing language of the World Wide Web.
html 是当前互联网被普遍采用的页面描述语言,被浏览器解释并形成最终网页页面。
xhtml与html相似,但是其文档是两够的xml文档,因此更为整齐、标准化、易于处理和交流、易于扩展。
XHTML 1.0 的 DOCTYPE 声明有 3 种,分别对应 3 种不同的 DTD。
Transitional —— 最宽松的 DTD,可以使用带表现含义的标签和属性。
写法为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Strict —— 最严格的 DTD,不允许使用任何带表现含义的标签和属性。
写法为: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">Frameset —— 用于使用了 frame 的页面(即,包含有 <frameset> 标记)。
写法为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">在刚刚开始向 XHTML 迁移的过程中,可以使用 Transitional 的 DTD,当习惯了更好的页面开发方法后,可以转向使用 Strict 的 DTD。只有在需要用到 frame 的页面,才应该使用 Frameset 的 DTD。
2. 紧跟在上面 DOCTYPE 声明之后的是一个 XHTML 名字空间(namespace)声明,放在增强的 <html> 元素中,写法为:
<html xmlns="http://www.w3.org/1999/xhtml">3. 由于 XHTML 1.0 页面就是合法的 XML 文档,而 XML 对于标签和属性都是区分大小写的,为了简单起见,XHTML 1.0 页面中所有的标签和属性都必须使用小写。
一些免费的工具,例如 HTML Tidy(http://tidy.sourceforge.net/),可以帮助你把标签和属性自动转换为小写。
4. 通过在 <head> 元素中添加一个 <meta> 元素来声明页面中使用的语言。
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />5. 在 XHTML 中,所有的属性都必须要加上引号。
一些免费的工具,例如 HTML Tidy(http://tidy.sourceforge.net/),可以帮助你自动为所有的属性加上引号。
6. 在 XHTML 中,所有的属性都必须有值。
不能像在 HTML 4.0 中那样写:
<input type="checkbox" name="shirt" value="medium" checked>而要写成:
<input type="checkbox" name="shirt" value="medium" checked="checked" />7. 在 XHTML 中,所有的标签都必须关闭。
关闭标签有两种方式,包含内容的标签使用结束标签关闭,空标签在后面加上空格和“/”。例如:
<p>This is acceptable HTML and it is also valid XHTML.</p> <img src="logo.gif" />8. 不要在注释内容中使用“--” 。
“--” 只能使用在 XHTML 注释的开头和结束,不能出现在注释的内容中。下面的写法都是不允许的:
<!--Invalid -- and so is the classic "separator" below. --> <!------------------------------------>9. 把所有的特殊符号编码。
< = &lt; > = &gt; & = &amp;W3C 的 XHTML/CSS/DOM 这 3 个规范构成了一个完整而严密的体系,我称这 3 个规范为 Web 世界中“三位一体神的化身”。这 3 个规范分别代表了 Web 页面的 structure(结构)、presentation(表现)和 behaviour(行为) 3 部分。将 Web 页面严格分为这 3 层,并且尽量使每一层的内容相互独立,有助于提高页面的可重用性和模块化程度,大幅降低页面制作、维护和修改的成本。为了达到上述分层的目标,编写的 XHTML 中应该只包含与 structure 相关的标记(元素和属性)。因此应该习惯于使用 Strict 类型的 DTD,尽快摒弃那些带有表现含意的标记(这些标记在 HTML 4.0 规范中被标识为 Deprecated 即“不提倡”,并且会在 XHTML 以后的版本中被完全舍弃);尽快摒弃基于 table 做布局的老方法,采用完全的 CSS 布局。
附:推荐的 XHTML 相关书籍。
《HTML 与 XHTML 权威指南》,Chuck Musciano & Bill Kennedy 著。
《XHTML教程》,Chelsea Valentine & Chris Minnick 著。
《网站重构》,Jeffrey Zeldman 著。
那么为什么要遵循规范?这些规范能给我们带来什么样的好处?
标准重构是个新名词,对于大部分企业来讲,还不知道是什么含义,我们这里无须把这个名词解释的多么的深奥,为什么要用标准重构呢?采用网站标准有什么好处?
对网站浏览者的好处:
文件下载与页面显示速度更快;
内容能被更多的用户所访问(包括失明、视弱、色盲等残障人士);
内容能被更广泛的设备所访问(包括屏幕阅读机、手持设备、搜索机器人、打印机、电冰箱等等) ;
用户能够通过样式选择定制自己的表现界面 ;
所有页面都能提供适于打印的版本 ;
对网站所有者的好处:
更少的代码和组件,容易维护,带宽要求降低(代码更简洁),成本降低。举个例子:当 ESPN.com 使用 CSS改版后,每天节约超过两兆字节(terabytes)的带宽。
更容易被搜寻引擎搜索到 ;
改版方便,不需要变动页面内容 ;
提供打印版本而不需要复制内容 ;
提高网站易用性。在美国,有严格的法律条款(Section 508)来约束政府网站必须达到一定的易用性,其他国家也有类似的要求
分享到:
相关推荐
目前最好用的JS,支持asp.net,html,asp,jsp<br>帶時間的,大家可試一試 ...DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">` - **Strict**: `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ...
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">` - XHTML1.0 Strict:`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <img src="img/moon.png" alt="" id="moon" style="visibility: hidden;"> <!DOCTYPE ...
Struts通过清晰地分离业务逻辑、数据模型和用户界面,使得应用程序更加模块化、易于维护和扩展。在Struts框架中,控制器是由一个中央的Servlet(ActionServlet)来扮演的,负责接收用户的请求并调用相应的模型组件...
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ``` 3. **HTML Frameset DTD**:用于包含框架的文档,它等同于Transitional DTD,但替换body元素为...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> ...
此外,还需考虑到不同设备和屏幕尺寸的适配,以实现响应式设计。 实现抽屉式下拉菜单通常涉及到HTML、CSS和JavaScript的综合运用。HTML用于构建基础结构,定义菜单项和下拉内容;CSS则用来设置样式,包括布局、颜色...
对html的规范要求极高,例如:页面...DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html * xmlns="http://www.w3.org/1999/xhtml">
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Table test</title> <style type="text/css"> <!-- td { text-align:center;font-size:12px;padding:3px;} --> </style> </...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ``` 3. **Frameset DTD**:用于含有框架的文档。 ```html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">` - **HTML4.01 Frameset**:`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">改成<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">就不会出现错位...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ... </html> ``` 其中`<%@ Page %...