html:
<div class="container">
<div class="wide1">test</div>
</div>
<div class="container">
<div class="wide2">test</div>
</div>
<div class="container">
<div class="wide3">test</div>
</div>
的CSS:
.container { width: 100%; text-align: center; margin: 20px 0; overflow: hidden; }
.container div { background: red; margin: 0 auto; }
.wide1 { width: 100px; }
.wide2 { width: 600px; }
.wide3 { width: 1100px; }
我想在一条垂直线(居中)中进行所有“测试”。我需要在我不知道内部div的宽度的情况下使用它。
答案 0 :(得分:2)
以什么为中心?外容器div?您必须使用max-width: 100%
之类的内容覆盖内部div的宽度。
示例:http://jsfiddle.net/vT65S/1/
.container div { background: red; margin: 0 auto; max-width: 100% }
答案 1 :(得分:1)
知道了!但是使用JavaScript ... http://jsfiddle.net/vT65S/10/
jQuery(function($){
$(".container > *").each(function(){
var m = ($(this).parent().innerWidth() - $(this).outerWidth())/2;
$(this).css("margin-left", m);
});
});
也许有一个纯CSS(?)
的解决方案答案 2 :(得分:1)
遇到同样的问题 - 用CSS3 translateX
解决了.container div{
position: relative;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}