2009-10-28 81 views
0

我有一个广泛的Flash影片(以适应更多的屏幕分辨率)。
我想将它与一个(例如)85%宽的div的中心对齐(并且溢出的Flash仍保持隐藏状态)。
我怎么能这样做?如何将Flash电影与“overflow:hidden”对齐?

EDIT2:

我想用css来做到这一点(而不是用JavaScript):
(我把它换成文本闪光灯,使后较短的,问题是相同)

<html> 
<head> 
<style> 
#div { 
    width: 20%; 
    overflow: hidden; 
    text-align: center; 
    background-color: lightblue; 
} 
#flash { 
    width: 400px; 
    background-color: blue; 
    position: relative; 
    top: 0px; 
    margin: 0 auto; 
} 
</style> 
<script src="jquery-1.3.2.min.js"></script> 
<script> 
function center() { 
    var flash = parseInt($("#flash").css('width')); 
    var div = parseInt($("#div").css('width')); 
    if (flash > div) { 
     var right = ((flash - div)/2) + "px"; 
     $("#flash").css("right", right); 
    } 
} 
$(window).resize(function(){ 
    center(); 
}); 
$(function(){ 
    center(); 
}); 
</script> 
</head> 
<body> 
<div id="div"> 
<div id="flash">texttexttexttexttext-[CENTER]-texttexttexttexttext</div> 
</div> 
</body> 
</html> 

回答

2

您不能使用文本齐齐div的,因为事实是的div块元素。如果为容器div和Flash div指定宽度,可以执行的操作是将左右边距设置为auto

#flash { 
width: 50%; 
margin: 0 auto 0 auto; 
} 
+0

此方法应该在所有的浏览器。凡是在#flash DIV中坐镇应居中,除非它大于div本身 – tahdhaze09 2009-10-29 13:54:13

+0

是的,这就是问题所在#flash div大于#div div – user 2009-10-29 13:57:48

+0

在这种情况下,我认为你不能仅仅使用CSS来实现这一点。需要一个Javascript解决方案,它可以计算两个div的大小,并根据这些数据设置边距。 – mensch 2009-10-29 14:04:03

0

似乎很简单,也许我错过了什么?

在DIV

div { 
    width:85%; 
    overflow:hidden; 
    text-align:center 
} 

如果不工作,你能告诉我们你的代码

+0

不对齐闪光灯中心:( ,使闪光灯的中心是不是在div的中心 – user 2009-10-29 09:46:10