1

我在一个网站上工作并且一直在使用绝对定位,因为视口大小将始终是固定的(离线 iphone webapp)。中途我意识到我没有使用正确的文档类型声明等。当我添加这些并在浏览器中刷新时,内容完全消失了。

下面是一个代码示例。没有 doctype 和一个普通的 "" 打开 html 标记,内容就会显示出来。如下所示,页面显示为完全空白。谁能解释为什么这段代码不能在标准模式下工作(使用 doctype 等)?我可以改变什么来修复它(最好是跨浏览器兼容) - 同时仍然使用绝对定位的布局?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <style type="text/css" media="screen">
        html {
            overflow: hidden;
            height: 100%;
        }

        body {
            overflow: hidden;
            padding: 0;
            margin: 0;
            width: 100%;
            height: 100%;
        }
    </style>

</head>
<body>
    <div style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: -1; top: 0; height: 480; left: 0; width: 320; text-align: left; " class="windowWrapper">
        <div style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: 0; top: 0; height: 480; left: 0; width: 320; text-align: left; " class="mobilePage">
            <div style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: 0; top: 0; height: 50; left: 0; width: 320; text-align: left; " class="mobileToolbar">
                <button style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: 0; top: 5; height: 40; left: 5; width: 60; text-align: center; " class="">Back</button>
                <button style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: 0; top: 5; height: 40; left: 245; width: 70; text-align: center; " class="">Options</button>
                <p style="position: absolute; visibility: visible; overflow-x: hidden; overflow-y: hidden; z-index: 0; top: 5; height: 40; left: 65; width: 180; text-align: center; " class="mobilePageTitle">Home</p>
            </div>
        </div>
    </div>
</body>
</html>
4

1 回答 1

0

如果在高度和宽度测量后添加“px”以指示以像素为单位的大小,则页面应该显示得更好。

例如。width: 300px;

严格标准模式将更严格地要求您正确指定这些类型的东西。

您可以使用W3C 验证器来验证网页是否符合标准的正确性,我怀疑它会突出这类问题。

于 2010-03-04T11:35:29.160 回答