首页  >  文章  >  web前端  >  如何在响应式网格中将容器居中并使子元素左对齐?

如何在响应式网格中将容器居中并使子元素左对齐?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-01 17:34:02521浏览

How to Center a Container and Left-Align Child Elements in a Responsive Grid?

居中对齐容器和左对齐子元素

问题

您希望在响应式网格中显示图像,将它们水平居中并对齐他们留在每一行内,同时保持固定的距离。当浏览器窗口调整大小以适应每行的最大数量而不改变其大小时,图像应自动换行。

解决方案

仅使用 CSS 实现所需的布局可能具有挑战性。下面是一种利用媒体查询根据视口尺寸调整内部 div 宽度的方法:

代码

<code class="css">body {
    margin: 10px 0;
}
.outer {
    text-align: center;
}
.inner {
    font-size: 0; /* fox inline gaps */
    display: inline-block;
    text-align: left;
}
.item {
    font-size: 16px; /* reset font size */
    display: inline-block;
    margin: 5px; /* gutter */
}
.item img {
    vertical-align: top;
}
@media (max-width: 551px) { /* ((100+5+5)x5)+1 */
    .inner {
        width: 440px; /* (100+5+5)x4 */
    }
}
@media (max-width: 441px) {
    .inner {
        width: 330px;
    }
}
@media (max-width: 331px) {
    .inner {
        width: 220px;
    }
}
@media (max-width: 221px) {
    .inner {
        width: 110px;
    }
}</code>
<code class="html"><div class="outer">
    <div class="inner">
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
    </div>
</div></code>

注意事项

  • 考虑使用适用于大量项目的 JavaScript。
  • CSS 预处理器可以增强代码的可重用性。
  • 根据需要调整媒体查询断点以满足您的要求。

以上是如何在响应式网格中将容器居中并使子元素左对齐?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn