如何在父容器没有宽度的情况下居中对齐浮动 div?
我知道以前曾有人问过类似的问题,但我还没有见过父 div 的宽度未知且有明确答案的问题。
情况是这样的。
<style>
.parent {
width: 100%;
}
.child {
width: 300px;
float: left;
}
</style>
<div class="parent>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
...
<div class="child></div>
<div>
基本上,我想在父容器中容纳用户屏幕分辨率可以支持的尽可能多的子 div。
我不想使用 css3 媒体查询,因为我想支持 IE7。
我尝试使用 javascript 指定父级的宽度,但这并不理想,因为内容在加载后会跳转到中心。有什么想法吗?
I know similar questions have been asked before but I haven't seen one where the parent div has an unknown width with a definitive answer.
So here's the situation.
<style>
.parent {
width: 100%;
}
.child {
width: 300px;
float: left;
}
</style>
<div class="parent>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
<div class="child></div>
...
<div class="child></div>
<div>
Basically, I want to fit as many child divs in the parent container as the user's screen resolution can support.
I don't want to use css3 media queries because I want to support IE7.
I tried using javascript to specify a width to the parent but it's not ideal as the content jumps to the center after it loads. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需使用
display:inline-block;
而不是float: left;
,对于 .parent 使用text-align: center
。Just use
display:inline-block;
instead offloat: left;
and for .parent usetext-align: center
.这是最接近的解决方案,不使用 javascript。
正是
display:inline-block;
使 div 侧边栏同时处于中心位置。我尝试将 .parent 转换为display:table-cell;
但没有成功。因此需要使用实际的来实现强大的居中行为。
http://jsfiddle.net/Dgdhr/
已编辑:http://jsfiddle.net/Dgdhr/1 (没有表格:感谢 MartinodF)
This is the nearest solution without the use of javascript.
It is
display:inline-block;
that makes divs side bar side and being in center at the same time. I've try turning .parent intodisplay:table-cell;
but didn't work. So need to use the actual<table>
for the powerful centering behavior.http://jsfiddle.net/Dgdhr/
Edited: http://jsfiddle.net/Dgdhr/1 (without table: thanks to MartinodF)
使用罗马答案我以此结束。我的父 div 内的所有 div 都会居中,因此您不需要设置子类。
Using Roman answer I ended with this. All div inside my parent div will center, so you dont need to set child class.