100% 宽度容器内的中心 div,具有动态宽度左右浮动
我想要在容器 div 内对齐 3 个 div,如下所示:
[[LEFT] [CENTER] [RIGHT]]
容器 div 的宽度为 100%(无固定宽度),并且在调整容器大小后,中心 div 应保持在中心位置。
左右DIV没有固定宽度,需要随容器伸缩。中心 DIV 确实有固定宽度。
我有这个:
<div style="width: 100%">
<div style="float: left; height: 50px;"></div>
<div style="float: right; height: 50px;"></div>
<div style="margin: 0 auto; height: 50px; width: 500px;"></div>
</div>
问题是,左右不显示,因为没有设置宽度
有什么建议吗?
I want to have 3 divs aligned inside a container div, like this:
[[LEFT] [CENTER] [RIGHT]]
Container div is 100% wide (no fixed width), and center div should remain in center after resizing the container.
Left and Right DIV have no fixed width and need to expand/contract with the container. Center DIV does have a fixed width.
I have this:
<div style="width: 100%">
<div style="float: left; height: 50px;"></div>
<div style="float: right; height: 50px;"></div>
<div style="margin: 0 auto; height: 50px; width: 500px;"></div>
</div>
Problem is, the left and right do not show because there is no set width
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你无法用纯 CSS 做到这一点。您需要使用 JavaScript。在下面的示例中,中间 div 固定为 400px,而剩余空间则在左右 div 之间分配。使用 jQuery,您可以
在 http://jsfiddle.net/M5Ghx/3/ 处检查工作示例
You can't do that with pure CSS. You need to use JavaScript. In the example below Middle div is fixed at 400px while remaining space is be split between left and right divs. With jQuery you can do
Check working example at http://jsfiddle.net/M5Ghx/3/
如果您想避免使用 javascript,另一种选择是为中心 div 提供绝对位置,并创建两个 div 用作左侧和右侧 div 内的缓冲区:
Another option, if you wanted to avoid using javascript, would be to give the center div an absolute position and create two divs to use as buffers within the left and right divs:
如果您只关心 Mozilla 和 WebKit,那么您应该考虑使用灵活盒模型:
这将解决纯 CSS 中的所有居中问题。请务必阅读文档并尝试不同的选项,以便您了解其工作原理。
If you only care about Mozilla and WebKit, then you should look in to using the Flexible Box Model:
That will solve all your centering issues in pure CSS. Just be sure to read the docs and play around with the different options so that you understand how it works.