jsp中<!DOCTYPE>标签
2013-12-09 13:46
417 查看
今天写代码时遇到一个问题,定义了如下一个样式:
.c_c1:hover td {
background-color: #edf5ce;
}
<tr class="c_c1">
</tr>
当鼠标滑过这个tr行时,背景应该发生改变,但在ie8中这个效果没有实现,而在firefox中可以实现,开始以为是ie兼容性问题。后来无意中发现改变<!DOCTYPE>后,ie8中也可选实现了。
本来这个jsp是通过new->JSP(Advanced Templates)生成的。jsp中<!DOCTYPE>是这么定义的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,而通过new->JSP(Basic templactes)生成的jsp是如下定义的:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">。
该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
以下面这个 <!DOCTYPE> 标签为例:
在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
.c_c1:hover td {
background-color: #edf5ce;
}
<tr class="c_c1">
</tr>
当鼠标滑过这个tr行时,背景应该发生改变,但在ie8中这个效果没有实现,而在firefox中可以实现,开始以为是ie兼容性问题。后来无意中发现改变<!DOCTYPE>后,ie8中也可选实现了。
本来这个jsp是通过new->JSP(Advanced Templates)生成的。jsp中<!DOCTYPE>是这么定义的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,而通过new->JSP(Basic templactes)生成的jsp是如下定义的:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">。
<!DOCTYPE>定义和用法
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
以下面这个 <!DOCTYPE> 标签为例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
提示和注释:
注释:<!DOCTYPE> 标签没有结束标签!HTML
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。HTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">[/code]HTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">[/code]Frameset DTD
Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">[/code]XHTML
XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。XHTML Strict DTD
如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">XHTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">XHTML Frameset DTD
当您希望使用框架时,请使用此 DTD!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器。
相关文章推荐
- HTML <!DOCTYPE> 标签
- HTML <!DOCTYPE> 标签
- <!DOCTYPE> 标签的那些事
- 你所未必知道的关于<!DOCTYPE>标签的细节
- jsp页面表格中<textarea>标签的菜鸟级错误
- JSP中使用哪个标签允许向<include/>标签传递参数
- JSP 中 JSTL 页面标签的笔记<happysoul>
- jsp中使用 <a>、<img>、<link>、<form>和ajax 标签中的URL相对路径问题
- Struts Tiles框架,标签库详解<tiles:insert page="facebook.jsp" />
- jsp标签<c:forEach>取出传递参数注意
- JavaBean与Jsp、在JSP中使用JavaBean(<jsp:useBean>标签、<jsp:setProperty>标签、<jsp:getProperty>标签)
- <jsp:include>标签与include指令的比较
- 聊一聊HTML <!DOCTYPE> 标签
- <jsp:forward >标签[转]
- JSP的<c:choose> <c:forEach> <c:if> <c:when> <c:set>标签
- jsp 标准标签库之<c:if>
- 关于jsp页面渲染<c:if>标签的用法。
- JSP 2.0 web.xml不再直接支持<taglib>标签配置
- eclipse oxygen4.7.0 bug: jsp html 标签Option 嵌入jsp标签如<c:if>报错
- Html/Jsp中<label>标签的使用