css - 是否可以使用 flex 制作此网格结果?
问题描述
如何仅使用 flex 类重现具有相同宽度和高度的网格?
<div class="row">
<div class="col-md-3">Test1</div>
<div class="col-md-3">Test1</div>
<div class="col-md-3">Test1</div>
<div class="col-md-3">Test1</div>
</div>
当我尝试遵循 flex 文档时,我得到了这样的结果:
<div class="d-flex flex-row flex-wrap">
<div class="p-2">Google</div>
<div class="p-2">Apple</div>
...
</div>
我想要实现的简单示例,第一个是我可以用引导网格做什么,第二个是我可以做什么但没有相等的宽度和高度
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<style></style>
</head>
<body>
<div class="row">
<div style="background-color: red" class="col">Google</div>
<div style="background-color: white" class="col">Apple</div>
<div style="background-color: red" class="col">Goldman Sachs</div>
<div style="background-color: white" class="col">Test1</div>
</div>
<br>
<br>
<div class="d-flex flex-row flex-wrap">
<div style="background-color: red" class="p-2 flex-shrink-0">Google</div>
<div style="background-color: white" class="p-2 flex-shrink-0">Apple</div>
<div style="background-color: red" class="p-2 flex-shrink-0">Goldman Sachs</div>
<div style="background-color: white" class="p-2 flex-shrink-0">Test1</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
解决方案
为了在一个包装的 flex 容器内有四个大小相同的子项/行,您必须将其应用于
flex-shrink: 0; flex-grow: 0; flex-basis: 25%
每个子项。或者,简写形式:
flex: 0 0 25%;
推荐指南:Flexbox 完整指南。
推荐阅读
- javascript - TypeError:_firebase.default.analytics 不是函数。(在 '_firebase.default.analytics()' 中,'_firebase.default.analytics' 未定义)
- imagemagick - Imagemagick 只读取红色通道
- sql - 在子查询中合并 SQL 行
- javascript - 我需要写困难的回文
- python - 我的输出没有正确显示我是否正确调用了我的定义,我是否正确返回了这些定义的值?
- amazon-s3 - 在 Fargate 容器中,为什么我可以 CRUD S3 但无法创建预签名帖子
- sql-server - 无法从迁移中创建触发器
- python - 新消息到达时如何中断while循环?
- c# - Entity Framework Core Table-per-Hierarchy:防止将“未注册的类”添加为基本类型
- python - 受试者之间的分类出现计数