gpt4 book ai didi

html - 如何让瓷砖同时居中和左对齐

转载 作者:太空狗 更新时间:2023-10-29 13:24:34 24 4
gpt4 key购买 nike

我有一个图 block (或 div)容器,我希望容器居中,而图 block 在容器中左对齐。

所以如果窗口很小:

..[s][s][s]..
..[s][s].....

如果窗口加宽一点:

...[s][s][s]...
...[s][s]......

进一步:

.[s][s][s][s].
.[s]..........

我试过:

#container's-parent: { display: block; text-align: center; }
#parent: { display: inline-block; text-align: left; }
.tiles: { display: inline-block }

但这似乎不起作用。

我希望它至少能在 Chrome 中运行,但我还需要最终支持最新的 FF、Safari 和 IE 10+

最佳答案

FWIW:现在是 2017 年,grid layout module 开箱即用 (codepen demo)。如果 browser support 适合你 - 然后使用网格。如果没有,请继续阅读....


如@Skadi2k3 的回答中所述,您可以使用 CSS 做的最好的事情是使用一系列媒体查询。

话虽这么说,如果您使用的是 LESS 这样的预处理器,这并不是一项困难或容易出错的任务。 (虽然,是的,CSS 仍然会又长又丑)

FIDDLECODEPEN (Supports LESS)

以下是如何利用 LESS 设置媒体查询:

像这样设置迭代混合:(您可以将此代码粘贴到 http://less2css.org 中)

@item-width:100px;
@item-height:100px;
@margin: 5px;
@min-cols:2;
@max-cols:12; //set an upper limit of how may columns you want to write the media queries for


.loopingClass (@index-width) when (@index-width <= @item-width * @max-cols) {
@media (min-width:@index-width) {
#content{
width: @index-width;
}
}

.loopingClass(@index-width + @item-width);
}

.loopingClass (@item-width * @min-cols);

上面的mixin会吐出一系列媒体查询的形式:

@media (min-width: 200px) {
#content {
width: 200px;
}
}
@media (min-width: 300px) {
#content {
width: 300px;
}
}
@media (min-width: 400px) {
#content {
width: 400px;
}
}
...
@media (min-width: 1200px) {
#content {
width: 1200px;
}
}

所以用一个简单的标记,比如:

<ul id="content">
<li class="box"></li>
<li class="box"></li>
...
<li class="box"></li>
</ul>

剩余 CSS(LESS):

 #content {
margin:0 auto;
overflow: auto;
min-width: @min-cols * @item-width;
max-width: @max-cols * @item-width;
display: block;
list-style:none;
background: aqua;
}
.box {
float: left;
height: @item-height - 2 *@margin;
width: @item-width - 2*@margin;
margin:@margin;
background-color:blue;
}

...你得到了想要的结果。

...自定义布局非常容易:

我需要做的就是根据我的需要更改我在 LESS mixin 中使用的变量 - 我得到了我想要的确切布局。

假设我有 300px X 100px 的元素,最少有 2 列,最多有 6 列,边距为 15px - 我只是像这样修改变量:

@item-width:300px;
@item-height:100px;
@margin: 15px;
@min-cols:2;
@max-cols:6;

...瞧,我得到这个 CODEPEN

关于html - 如何让瓷砖同时居中和左对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com