1

是否可以以百分比设置 div 的高度即使正在使用?<!doctype>

我的jsp页面已经完全设计,没有doctype,并且动态创建了许多divdiv高度仅以%给出。

但现在我被迫添加doctype来工作jquery dialog box和其他一些jquery 插件

我的需要:

  1. 我应该如何使 div 高度以百分比 %工作,即使我添加了<!DOCTYPE>

希望我们的堆栈用户能帮助我。

4

4 回答 4

1

使用 a<!doctype>将确保浏览器知道您使用的 HTML 版本。

不使用<!doctype>会导致浏览器使用它自己的默认值,导致跨浏览器兼容性低。它可以在 IE9 中运行良好但在 IE10 中运行良好,或者在 Safari 中运行良好但在 Chrome 等中运行良好......

强烈建议始终使用<!doctype>

于 2013-10-09T14:27:06.670 回答
1

简短的回答是,如果您没有 doctype ,很多事情都会中断。这包括 jQueryUI。如果你想使用现代浏览器功能和 javascript 库,那么你必须有一个有效的文档类型。

这真的不是一个选择。doctype 告诉浏览器进入标准模式。没有它,它将处于已经过时十多年的怪癖模式。现代 Javascript 库根本不适合在这种模式下工作。

所以问题变成了如何在不破坏页面布局的情况下添加文档类型?

如果您有一个设计为没有 doctype 的网站,那么添加 doctype 时会有许多不同的东西,但主要的是盒子模型。这决定了元素宽度如何与padding,margin和结合使用border。旧的 Quirks 模式框模型与现代标准模式有很大不同,您的布局会受到影响。

幸运的是,您可以非常轻松地解决此问题:将以下内容添加到您的 CSS 代码中:

* {box-sizing:border-box;}

这将告诉您的页面使用旧样式的框模型,即使在标准模式下也是如此。使用 doctype 后,您的页面布局现在应该看起来好多了。

还有其他布局差异可能会影响您,但这是最大的差异,也是最容易修复的差异。从那开始,然后看看还有什么问题;如您所见,处理剩余的问题应该相当简单。

我希望这会有所帮助。如果您还有其他问题,请尝试搜索此站点(以及更广泛的互联网)以获得更多从 Quirks 模式转换为标准模式的帮助 - 这是一个常见问题,因此您应该找到很多帮助。

于 2013-10-09T16:06:37.443 回答
1

最后我通过在我的css中添加以下代码得到了解决方案,即使我在我的, <doctype>JSP

解决方案一:

html,body {

   height: 100%;
   width: 100%;

}

解决方案二:

  1. div css设置为absolute
于 2013-10-10T10:24:35.570 回答
1

如果你给absolutediv 定位,你可以给 div 的高度

于 2013-10-10T10:46:34.643 回答