我们遇到问题,根据父div宽度使闪存文件缩放100%,同时仍然根据其宽高比保持高度。
请查看jsFiddle上的代码(http://jsfiddle.net/LgegF)或将以下代码粘贴到一个空的html页面中:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("http://www.diescon.net/yellowfestival/400x400.swf", "flash-content", "100%", "100%", "9.0.0", '', null, {wmode: 'transparent'});
</script>
<style type="text/css">
body {
background-color: #ccc;
margin: 0;
}
#container {
width: 400px; /* Fixed width according to page template */
height: auto; /* Container height should adapt to the content, we do not want to set a fixed height here */
background-color: pink; /* Background of container */
position: absolute;
top: 0;
left: 0;
}
#flash-content {
width: 400px; /* Fill the width of the parent, could be fixed but ideally 100% */
height: 100%; /* We want the height of the flash object/flash content to scale according to the aspect ratio of the swf, we do not want to set a fixed height here */
}
/* This is what we really want */
#what-we {
width: 400px;
height: auto;
background-color: pink;
position: absolute;
top: 0;
right: 0;
}
#really-want {
width: 100%;
height: 400px; /* This is what we really want, but without setting this height fixed */
background-color: yellow;
}
</style>
</head>
<div id="container">
<div id="flash-content"></div>
</div>
<div id="what-we">
<div id="really-want">
<span>This is what we really want</span>
</div>
</div>
</body>
</html>
答案 0 :(得分:3)
我有类似的问题,我觉得这个页面非常有用: http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
根据我在本文中学到的内容,我建议将您的HTML代码更改为:
<div id="container">
<div class="videoWrapper">
<div id="flash-content"></div>
</div>
</div>
通过添加以下内容来更改CSS代码:
.videoWrapper {
position: relative;
padding-bottom: 100%; /* 1:1 */
padding-top: 0px;
height: 0;
}
.videoWrapper object, .videoWrapper embed, {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
您可以在此处查看结果: http://jsfiddle.net/LgegF/56/
希望得到这个帮助。
PatBriPerso
答案 1 :(得分:0)
您正在寻找的是
width: 100%;
height: auto;
让我知道这是怎么回事。
-Brian
答案 2 :(得分:0)
完全忽略flash容器的css高度声明。 Swf通常会进行缩放(或者您可以在嵌入/ swfobject选项中设置它们的缩放行为),因此如果您只是限制宽度,则swf本身的高度会相应缩放。
[编辑:] 工作小提琴(使用非常简陋的swf嵌入代码):http://jsfiddle.net/LgegF/1/ 您会注意到缩放浏览器时swf如何缩放。 swf顶部和底部的白色是由于物体包含,swfobject或标签让你控制swf本身如何缩放(缩放模式,对齐,valign等)。你注意到的是,swf如何使用容器的宽度来确定其大小,即相应地调整宽度和缩放高度。