问题(正确吗?):
- 如何使 Flash 影片扩展到页面的整个宽度(而不是 940 像素)?
- 如何使 Flash 影片位于其父元素的顶部,从而位于页面的顶部?
以上操作无需修改 Javascript 或 Flash 即可完成。
答案:
第 1 部分:
您似乎正在使用 FlashObject 来嵌入 Flash。
FlashObject 接受多个参数,其中第 3 个和第 4 个参数表示元素的宽度和高度属性。
只要设置了这些属性,它们就会覆盖您应用的任何其他 CSS 类。
要将宽度更改为 100%,您必须将 940 更改为 1040,或者可能更改为“100%”。
<script type="text/javascript">
var fo = new FlashObject("/templates/pjo_joomlaforall/images/header.swf", "topheader", '100%', 250, 7);
fo.addParam("wmode", "transparent");
fo.write("flashcontent");
</script>
虽然这可能算作使用 Javascript,但它是唯一可行的解决方案。
第 2 部分:
您正在处理的实际 swf 是 240 像素宽和 200 像素高。
Flash 文件中的“image”部分只有 50px 高,位于 swf 的垂直中心。
无法使用 CSS 放大 SWF 中 50 像素的中心。
您可以做的是使用 CSS 放大 swf 以使中心的高度符合您的需要,然后使用更多的 CSS 裁剪顶部和底部的空白。
将嵌入标签放置在溢出被隐藏的元素内,并为嵌入应用负上边距(或负位置),等于您希望裁剪的空白。
<style type="text/css">
#at-flashheader{
overflow:hidden
}
#flashcontent{
margin-top:-40px;
}
</style>
<div id="at-flashheader"><div id="flashcontent"></div></div>
'当然,如果 swf 的宽度是百分比,这将不会真正起作用,因为空白的高度不会是恒定的。
如果将宽度设置为常数,例如 1040px,则可以相应地设置负上边距。
顺便说一句:
您确实应该使用 Mootools 或 JQuery 而不是 Flash。
举个例子——我的浏览器上有 Flashblock,为了看看你在说什么,我不得不跳过去。如果我一直在使用 iPhone,那么跳绳也无济于事。