m0_46602893 2021-03-23 19:10 采纳率: 91.5%
浏览 43
已结题

flex弹性布局问题

<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
            .box{border: 1px solid black;width: 300px;height: 300px;margin: 50px auto;border-radius: 5px;
                 display: flex;flex-wrap: wrap;
            }
            /* i{display: block;width: 30%;height: 30%;background: black;border-radius: 50%;} */
            .box1,.box2,.box3{width: 100%;}
      </style>
</head>
<body>
      <div class="box">
            <div class="box1">
                  <i></i>
                  <i></i>
            </div>
            <div class="box2">
                  <i></i>
            </div>
            <div class="box3">
                  <i></i>
                  <i></i>
            </div>
      </div>
</body>
</html>

问题一:

在这个代码里面,当我不给box设置display: flex;的时候,这个时候我要给box1,2,3用百分比设置宽高的时候必须宽高都要设置div才能显示出来,而当我给box设置display: flex;的时候,这个时候为什么只用设置width=100%高度自己就出来了?并且height是100%?而width自动就变成了原来的三分之一?

问题二:

当我给box设置display: flex;并且flex-wrap: wrap;height在之前没有设置的情况下自动变成了原来的三分之一?

  • 写回答

1条回答 默认 最新

  • 土拨鼠1号 2021-03-24 10:34
    关注

    设置了display: flex后,box的所有子元素自动成为容器成员,加上你设置了flex-wrap: wrap,它就会自动排序成如下图所示的形式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵