css里flex+margin布局

css里flex+margin布局

在flex+margin的布局中,margin设置auto会自动将元素剩余的空间用margin填满

居中

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>居中</title>
  <style>
      * {
          margin: 0;
          padding: 0;
      }
      .container {
          height: 500px;
          display: flex;
          border: 2px solid red;
          box-sizing: border-box;
      }
      .item {
          width: 100px;
          height: 100px;
          line-height: 100px;
          text-align: center;
          background-color: #ccc;
      }
      .item {
          margin: auto;
      }
  </style>
</head>
<body>
<div class="container">
  <div class="item">1</div>
</div>
</body>
</html>

两端排列

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>两端排列</title>
  <style>
      * {
          margin: 0;
          padding: 0;
      }
      .container {
          display: flex;
          border: 2px solid red;
          box-sizing: border-box;
      }
      .item {
          width: 100px;
          height: 100px;
          line-height: 100px;
          text-align: center;
          background-color: #ccc;
      }
      .item:nth-child(3) {
          margin-left: auto;
      }
  </style>
</head>
<body>
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>
</body>
</html>

依次排列

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>依次排列</title>
  <style>
      * {
          margin: 0;
          padding: 0;
      }
      .container {
          display: flex;
          flex-wrap: wrap;
          border: 2px solid red;
          box-sizing: border-box;
      }
      .item {
          width: 100px;
          height: 100px;
          line-height: 100px;
          text-align: center;
          background-color: #ccc;
      }
      .container .item {
          --n: 10;
          /* 计算得出左右两边的间距:元素剩余的空间 / 元素个数 / 2 */
          --gap: calc((100% - 100px * var(--n)) / var(--n) / 2);
          margin: 20px var(--gap);
      }
  </style>
</head>
<body>
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
  <div class="item">7</div>
  <div class="item">8</div>
  <div class="item">9</div>
  <div class="item">10</div>
  <div class="item">11</div>
  <div class="item">12</div>
  <div class="item">13</div>
  <div class="item">14</div>
  <div class="item">15</div>
  <div class="item">16</div>
  <div class="item">17</div>
  <div class="item">18</div>
  <div class="item">19</div>
  <div class="item">20</div>
  <div class="item">21</div>
  <div class="item">22</div>
</div>
</body>
</html>
相关推荐
YongGit3 分钟前
探索 AI + MCP 渲染前端 UI
前端·后端·node.js
慧一居士41 分钟前
<script setup>中的setup作用以及和不带的区别对比
前端
RainbowSea1 小时前
NVM 切换 Node 版本工具的超详细安装说明
java·前端
读书点滴1 小时前
笨方法学python -练习14
java·前端·python
Mintopia1 小时前
四叉树:二维空间的 “智能分区管理员”
前端·javascript·计算机图形学
Mintopia1 小时前
Three.js 深度冲突:当像素在 Z 轴上玩起 "挤地铁" 游戏
前端·javascript·three.js
Penk是个码农2 小时前
web前端面试-- MVC、MVP、MVVM 架构模式对比
前端·面试·mvc
MrSkye2 小时前
🔥JavaScript 入门必知:代码如何运行、变量提升与 let/const🔥
前端·javascript·面试
白瓷梅子汤2 小时前
跟着官方示例学习 @tanStack-form --- Linked Fields
前端·react.js
爱学习的茄子2 小时前
深入理解JavaScript闭包:从入门到精通的实战指南
前端·javascript·面试