使用 CSS 定位 Flash 内容

Posted

技术标签:

【中文标题】使用 CSS 定位 Flash 内容【英文标题】:Positioning flash content using CSS 【发布时间】:2010-09-15 11:12:00 【问题描述】:

我有一个生成的 html 页面,其中包含 Flash 内容。我正在尝试重新定位 Flash 内容并使其“绝对”。我试图用 div 标签包装对象标签,但无济于事。谁能告诉我该怎么做?删除生成的定位属性不起作用。

请看下面相关代码(不是很整洁,不过是这样生成的,大部分不相关的代码我都去掉了):

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>* welcome *</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
</head>
<body bgcolor="#000000">
<script language="javascript">
if (AC_FL_RunContent == 0) 
    alert("This page requires AC_RunActiveContent.js.");
 else 
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        'width', '430',
        'height', '200',
        'src', 'bar',
        'quality', 'high',
        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
        'align', 'right',
        'play', 'true',
        'loop', 'true',
        'scale', 'showall',
        'wmode', 'transparent',
        'devicefont', 'false',
        'id', 'bar',
        'bgcolor', '#000000',
        'name', 'bar',
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', 'bar',
        'salign', ''
        ); //end AC code

</script>
<noscript>
<div style = "position: absolute">
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"          codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"   id="bar" align="right">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="allowFullScreen" value="false" />
    <param name="movie" value="bar.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#000000" />
    </object>
</div>
</noscript>

提前致谢!

【问题讨论】:

【参考方案1】:

由于您的 div 包含在 noscript 中,因此只有在关闭 javascript 时才会显示,您确定这是您想要的行为吗?

【讨论】:

【参考方案2】:

您应该将实际创建对象的 JS 脚本放在您的 div 中,而不是在它之前。

【讨论】:

【参考方案3】:

@Fuzzy76 & @epeleg.blogspot.com 是对的

@pypmanetjies -> 你的代码必须是这样的(缩短):

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>* welcome *</title>
    <script language="javascript">AC_FL_RunContent = 0;</script>
    <script src="AC_RunActiveContent.js" language="javascript"></script>
    </head>
    <body bgcolor="#000000">
<div style = "position: absolute">
    <script language="javascript">
    if (AC_FL_RunContent == 0) 
            alert("This page requires AC_RunActiveContent.js.");
     else 
            AC_FL_RunContent(
...
); //end AC code
    
    </script>
    <noscript>
          <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"          codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"   id="bar" align="right">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="false" />
        <param name="movie" value="bar.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#000000" />
        </object>

    </noscript> 
</div>

【讨论】:

【参考方案4】:

您可能还需要设置宽度和高度。

【讨论】:

以上是关于使用 CSS 定位 Flash 内容的主要内容,如果未能解决你的问题,请参考以下文章

如何用css将底部的内容定位到顶部

使用 CSS :not() 定位元素中的选定内容

css fixed定位内容怎么滑动

css 强制定位内容框类到固定高度。将“.target-class”更改为您使用的类。

Flash 播放器覆盖绝对定位元素

css框模型定位浮动