gpt4 book ai didi

html - 水平居中带有左浮动、左对齐元素的列表

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:54 25 4
gpt4 key购买 nike

我有一个 div 包含多个 section。其中一个 section 包含一个 ol,它的所有 li 都向左浮动。我正在尝试使 ol 收缩以在一行中包含尽可能多的 li,并在水平方向上居中 ol,同时保持li 左对齐。

这是我的:http://jsbin.com/ocokog/1/edit

<div id="wrapper">
<section id="section">
<ol id="list">
<li id="i0"></li>
<li id="i1"></li>
<li id="i2"></li>
<li id="i3"></li>
<li id="i4"></li>
</ol>
</section>
</div>

非装饰性 CSS:

#wrapper {
width: 85%;
text-align: center;
}

#section {
display: inline-block;
}

#list {
list-style-type: none;
margin: 0;
padding: 0;
overflow: auto;
}

#list > li {
width: 100px;
height: 100px;
float: left;
}

li 可以全部放在一行时,列表居中:one line is centered

li 落到第二行时,sectionol 变大,整个内容左对齐:two lines are not centered

我试图让它看起来像这样(取决于可用宽度,部分 也可以在必要时缩小):whole list should be centered regardless of number of lines

设置宽度或最大宽度并使用 margin: auto 也不太有效:http://jsbin.com/ocokog/6/edit

为什么 ol 不会缩小?我该如何解决这个问题?


这些问题相似但不同:

最佳答案

ol 居中。您已将其设置为 65% 宽度。如果您在调整大小时查看橙色边框,则它始终居中。

编辑

让我试着改写一下。ol 是 block 元素,与 div 是 block 元素的方式相同。这意味着它填满了它所在的空间。这在您的示例中由橙色边框表示。您想要的是 ol 占用的空间少于 100%。有许多不同的方法,但您总是从列表开始,尽可能多地占用空间。

其中一种方法是设置宽度。这个问题是你不想要一个固定的宽度。因此,您尝试使用百分比设置宽度。这是行不通的,因为在许多间隔中,百分比会导致 li 不居中。

另一种方法是设置ol 的左右边距。这与设置宽度相同。

只是没有办法将您还想 float:left; 的元素居中。我认为混淆是因为您认为可以使 ol 环绕 li。问题是,这不是 ol 的工作方式。

关于html - 水平居中带有左浮动、左对齐元素的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13885655/

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