如何使包装列表列全部相同的宽度?

发布于 2025-02-03 09:03:14 字数 2229 浏览 0 评论 0原文

当列表项目到达容器底部时,下一列中显示的下一列中显示。在这种情况下,容器宽度在3列之间划分。如何更改列宽度? 我想手动更改列宽度 不像结果(列之间的自动分配容器宽度)

ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 200px;
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  background: pink;
  border: 1px solid #fff;
}
<ul>
  <li><a href="">this is row</a></li>
  <li><a href="">this is a longer row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
</ul>

和结果:

“在此处输入图像描述”

When the list items reach to the bottom of container next items show in the next column. In this case container width divide between 3 columns. How can I change column width?
i want change column width manually
not like the result (automatic divide container width between column)

ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 200px;
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  background: pink;
  border: 1px solid #fff;
}
<ul>
  <li><a href="">this is row</a></li>
  <li><a href="">this is a longer row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
</ul>

and result:

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

瀞厅☆埖开 2025-02-10 09:03:14

width正在从li s的宽度中反射。话虽如此,您可以通过更改li上的宽度来更改列宽度。

ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 200px;
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  width: calc(100%/3);
  border: solid 1px orange;
}
<ul>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
</ul>

The column width is being reflected from the width of your lis. With that being said, you can change the column width by changing the width on li.

ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 200px;
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  width: calc(100%/3);
  border: solid 1px orange;
}
<ul>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
  <li><a href="">this is row</a></li>
</ul>

哆啦不做梦 2025-02-10 09:03:14

您可以像这样分裂-100/12。如果您将100除以12,我们将获得8.333333333333333。现在,您只需到4,然后您将获得3等级列的值。

例如:8.33333333333333 * 4 = 33.33333333333333。

最后,只需添加百分比像这样-33.33%

在您的情况下您的css应该看起来像这样:

    * {
        /*to adjust paddings on columns. you can learn more about box-model in css*/
        box-sizing: border-box;
    }
    
    ul {
        display: flex;
/*no need to make flex direction : column. by default it applies row value and this will work fine.*/
        /* flex-direction: column; */
        flex-wrap: wrap;
/*currently no need of max-height. It is optional depends on your design.*/
        /* max-height: 200px; */
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    li {
        background: pink;
        border: 1px solid #fff;
        /*0 is grow 0 is shrink 33.33% is basis*/
        flex: 0 0 33.33%;
    }

我希望这会有所帮助。

You can divide like this - 100/12. If you divide 100 by 12 we get 8.333333333333333. Now you can just multiply into 4 then you will get the value for 3 equal columns.

For example: 8.333333333333333 * 4 = 33.33333333333333.

Finally just add percentage like this - 33.33%

In your case your CSS should look like this:

    * {
        /*to adjust paddings on columns. you can learn more about box-model in css*/
        box-sizing: border-box;
    }
    
    ul {
        display: flex;
/*no need to make flex direction : column. by default it applies row value and this will work fine.*/
        /* flex-direction: column; */
        flex-wrap: wrap;
/*currently no need of max-height. It is optional depends on your design.*/
        /* max-height: 200px; */
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    li {
        background: pink;
        border: 1px solid #fff;
        /*0 is grow 0 is shrink 33.33% is basis*/
        flex: 0 0 33.33%;
    }

I hope this helps.

请帮我爱他 2025-02-10 09:03:14

来更改列宽度

width: 100px;

您可以通过添加或要在CSS中的ul选择器中指定的任何宽度

You can change the column width by adding

width: 100px;

or whatever width you want to specify in the ul selector in your css

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文