精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-05
最后修改:2010-07-05
最近项目里用到了struts2里的jqGrid插件,有个很奇怪的问题找了好长时间,比如:字体样式修改不了的问题,具体描述请参考附件图片,包含有问题的和修改后的对比图(je不能直接插入本体图片啊) 就是grid的表头和内容字体样式不能修改,一直是缺省的16px大小和加粗的,并且分页显示也很别扭
后来找了好长时间发现是因为我的页面<!DOCTYPE 定义有问题,jqGrid支持过渡型的申明,也支持严格型的申明,不然某些时候jqGrid自带的css就会有问题,比如ui.jqgrid.css里定义的字体大小有可能不能控制页面里的所有字体大小.....
这是我之前的申明: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 不能正常显示CSS
这是修改后的申明: 严格型XHTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
或是过渡性XHTML <!DOCTYPE html 其他的例如HTML的: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
也行,后来发现只要是加了dtd定义的都能正常显示
建议用过渡型XHTML
以下是w3cschool里的对doctype的解释:
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。 以下面这个 <!DOCTYPE> 标签为例: 在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。 注释:<!DOCTYPE> 标签没有结束标签! HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。 如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用: Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型: Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD: XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。 如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用: Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型: 当您希望使用框架时,请使用此 DTD! 如需检查你是否编写了带有正确 DTD 的合法 XHTML 文档,您可以把您的 XHTML 页面链接到一个 XHTML 验证器。 属性:无
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-06-14
非常感谢 解决了问题
|
|
返回顶楼 | |
发表时间:2011-06-28
这个东西在IE里面会很明显的,我就碰到过IE中因为这个HTML <!DOCTYPE> 标签不同,页面展示存在问题。。(IE8)
|
|
返回顶楼 | |
浏览 4703 次