在我的母版页中存在上述行
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
但是为什么它会给我带来问题呢?
在内容页面中我嵌入了一个 SWF 对象
var flashvars = {xmlPath: "xml/" + GetQueryString("x") + ".xml" };
var params = { allowFullScreen: "true", wmode: "transparent" };
var attributes = {};
swfobject.embedSWF("main.swf", "gallery", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
如果我注释掉 DOCTYPE“行”,则 SWF 对象将填充屏幕(正如它应该的那样)。 如果我不注释掉 DOCTYPE“行”,则 SWF 对象仅在水平方向填充。
那么这是怎么回事呢?我可以在垂直和水平方向上平铺 DOCTYPE 和 SWF 对象吗?
更新:这是未成功应用的 CSS
<style type="text/css">
*{
margin:0;
padding:0;
}
html, body, #gallery { background: #EFEFEF; height:100%; }
body { margin:0; padding:0; overflow:hidden; }
</style>
另一个更新:在 Chrome 中效果很好,在 Internet Explorer 中 SWF 填充了显示的 20%,并放置在页面顶部,最后在 Firefox 中,什么也没有显示。
最佳答案
在标准模式下,如果您希望静态定位的元素与视口(viewport)具有相同的高度,则它和所有祖先(可能包括 body
和 html
)都具有具有 CSS height: 100%
。 100%
高度是相对于父级的大小而言的,如果父级没有明确的高度,则百分比毫无意义。
如果您希望绝对定位的元素与视口(viewport)具有相同的高度,则它是相同的,但使用定位的包含 block 而不是每个元素。这种情况通常更容易,因为视口(viewport)和元素之间可能没有任何包含 block 。
在 Quirks 模式(即删除文档类型时得到的模式)下,height: 100%
通常会产生不同的效果,其中包括许多通常不太有用的错误。
关于asp.net - DOCTYPE html PUBLIC DTD XHTML 1.0 过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4149090/