当前位置: 代码迷 >> Java Web开发 >> jsp 页面 DOCTYPE 改变,导致页面样式改变,请教大神怎么解决
  详细解决方案

jsp 页面 DOCTYPE 改变,导致页面样式改变,请教大神怎么解决

热度:1014   发布时间:2016-04-16 21:50:38.0
jsp 页面 DOCTYPE 改变,导致页面样式改变,请问大神如何解决
我原来的jsp页面
文档声明是这样的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
由于在ie7,8有样式问题,就改成了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
改成该声明后,解决了ie7,8不兼容的问题。
但是测试后发现有些控件的样式例如:字体大小,宽度,高度,发生的改变。导致页面布局发生变化。
请大神看下,我该文档声明正确吗?
------解决思路----------------------
样式不兼容你应该改css吧,而不是头信息效验文件。XHTML 和HTML区别还是很大。
------解决思路----------------------
什么css代码不起作用?
------解决思路----------------------
有时候什么都不写,你把这个头文件删掉更好
------解决思路----------------------
仁兄
XHTML1.0提供了三种DOCTYPE可选择:
(1)过渡型(Transitional )<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
(2)严格型(Strict )<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
(3)框架型(Frameset )<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

摘自http://zhidao.baidu.com/link?url=Ju0DeDzC_QlGiPHvLvtWrLh5kgLByusHwJjzn5W_WQ-LRNJiBfw5mZ0k3_kQ7LMzlI975dRVPGNDk2HH8aDvka

推荐你看这个博客
http://gghaomm.iteye.com/blog/984617
------解决思路----------------------
1. <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。2. 此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。所以,楼主的这个声明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。另外,需要知道的是,HTML 4.01 规定的三种文档类型、XHTML 1.0 规定的三种 XML 文档类型都是:Strict、Transitional 以及 Frameset。而这句<html xmlns="http://www.w3.org/1999/xhtml">,是在文档中的<html> 标签中使用 xmlns 属性,以指定整个文档所使用的主要命名空间。对于文档声明,了解这些就足够了,现在的html5不再这么繁琐,只需要:<!DOCTYPE html><html>就可以了。
  相关解决方案