吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 655|回复: 4
收起左侧

[已解决] CSS,Flex瀑布流父元素宽度的问题

[复制链接]
cqwcns 发表于 2023-2-21 11:44
如下代码,我通过Flex写了一个类似瀑布流的父元素。
宽度我不希望固定,而是希望根据子元素的数量将父元素撑大。
于是我设置了一个width: max-content。


但子元素明明换行了,父元素却没有撑开。


不知道应该怎么写,请各位大佬指教,感谢。

微信图片_20230221113041.png

[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        .father {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            background-color: chartreuse;
            width: max-content;
            max-height: 30vh;
        }
.father>div {
            border: 1px solid saddlebrown;
            width: 100px;
            height: 20px;
            display: grid;
            place-items: center;
        }
    </style>
</head>

<body>
    <div class="father">
        <!-- 模拟瀑布流,子元素数量不定 -->
        <div>D1</div>
        <div>D2</div>
        <div>D3</div>
        <div>D4</div>
        <div>D5</div>
        <div>D6</div>
        <div>D7</div>
        <div>D8</div>
        <div>D9</div>
        <div>D10</div>
        <div>D11</div>
        <div>D12</div>
        <div>D13</div>
        <div>D14</div>
        <div>D15</div>
        <div>D16</div>
    </div>

</body>

</html>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

猛浪若奔 发表于 2023-2-21 13:20
方案一
[CSS] 纯文本查看 复制代码
.father {
  display: flex;
  flex-wrap: wrap;
  background-color: chartreuse;
  max-height: 30vh;
}
.father > div {
  border: 1px solid saddlebrown;
  flex: 0 1 100px;
  height: 20px;
  display: inline-grid;
  place-items: center;
}


方案二
[CSS] 纯文本查看 复制代码
.father {
  display: grid;
  grid-template-columns: repeat(auto-fill, 100px);
  background-color: chartreuse;
  max-height: 30vh;
}

.father > div {
  border: 1px solid saddlebrown;
  height: 20px;
  display: inline-grid;
  place-items: center;
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

ww886668 发表于 2023-2-21 13:30
子元素折行时,父元素的宽度不变是因为父元素的宽度是由子元素的宽度决定的,而子元素折行时,子元素的宽度并没有发生变化,所以父元素的宽度也不会发生变化。

免费评分

参与人数 1吾爱币 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

npc404 发表于 2023-2-21 14:40
[CSS] 纯文本查看 复制代码
.father {
        display: flex;
        flex-wrap: wrap;
        max-height: 30vh;
        background-color: chartreuse;
        writing-mode: vertical-lr;
      }
      .father > div {
        border: 1px solid saddlebrown;
        width: 100px;
        height: 20px;
        display: grid;
        place-items: center;
        writing-mode: horizontal-tb;
      }

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| cqwcns 发表于 2023-2-21 16:04
4楼正解。感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表