asp.net - DOCTYPE html PUBLIC DTD XHTML 1.0 过渡

标签 asp.net flash visual-studio-2010 doctype xhtml-transitional

在我的母版页中存在上述行

<!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)具有相同的高度,则它和所有祖先(可能包括 bodyhtml)都具有具有 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/

相关文章:

c++ - 如何安装足以使用 Visual Studio 2010 的多目标构建 C++ 应用程序的 Visual Studio 2008 最小设施?

asp.net - 系统.Data.SqlClient.SqlException : Invalid column name

asp.net - 带有 Asp.NET 身份的 LDAP 身份验证

c# - ASP.Net WebApi 2 示例文本属性

php - AS3 和 mySQL 或 XML : Saving user votes on server from a flash movie

html - 如何缩小 div 高度以适合图像

css - css3 中的过渡应该是什么

visual-studio - Blend 3 无法打开 VS 2010 项目!

c# - 将名字中的第一个和第三个字母大写,例如 McArthur 或 McMinn

.net - nuget包管理器不同步