0

所以问题是对象标签。它只是拒绝在高度上缩放。铬完美。IE 和 firefox 保持默认高度。我很难找到跨浏览器的代码。从我从其他线程和站点中发现的是,父容器需要设置一个高度。这就是为什么您会在 html 和 body 以及<div id="calendar">. 虽然我理解了这个理论,但它仍然不起作用。

旁注:内联 css 的原因是因为我在那里进行 css 测试。而且我没有制作小提琴,因为该对象就像 80 多个文件,而且我不知道如何很好地使用 jsfiddle,而且有点感觉无法在其中获取日历。

<!DOCTYPE html>
<html style="height: 100%" >
<body style="height: 100%" >
    <form >
    <div id="calendar" style="height: 70%">
        <object data="calendar.php" width="50%" style="height: 100%"/>
    </div>
    </form>
</body>
</html>
4

2 回答 2

1

所以问题是object tag标签在哪里?对于你问为什么需要这个的问题

html, body {
   height: 100%;
   width: 100%;
}

是因为当您使用height: 70%;子元素时,会出现70%什么问题?因此,当您将高度定义为父级时,%它定义70%100%

于 2012-12-11T18:11:12.903 回答
0

您的代码在 Safari 中也被破坏了,但我的解决方案似乎已经解决了这个问题。

此版本验证:

http://jsfiddle.net/zu9cL/

也许它会为你工作。一般来说,Explorer 讨厌无效代码。

我相信你有两个根本问题。

  • 50%在属性中使用width且未正确关闭的<object>标签(无效的 HTML)

  • 未能height在父元素上定义<form>

我在演示中没有使用内联 CSS,但如果您愿意,可以随意将您的 CSS 放回“内联”,它仍然可以工作。

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <form>
            <div id="calendar">
                <object data="calendar.php"></object>
            </div>
        </form>
    </body>
</html>

CSS:

html, body, form {
    height: 100%;
}
#calendar {
    height: 70%;
}
object {
    height: 100%;
    width: 50%;
}

这一切都与放置“内联”的 CSS 相同。

jsFiddle 演示

HTML:

<!DOCTYPE html>
<html style="height: 100%;">
    <head>
        <title></title>
    </head>
    <body style="height: 100%;">
        <form style="height: 100%;">
            <div id="calendar" style="height: 70%;">
                <object data="calendar.php" style="height: 100%; width: 50%;"></object>
            </div>
        </form>
    </body>
</html>
于 2012-12-11T19:43:19.493 回答