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>
相关推荐
万少19 小时前
DeepSeek 昨晚刚开源了 Harness:附万少的2 万字保姆级教程
前端·后端·架构
程序员黑豆21 小时前
Java字符串详解
java·前端·ai编程
无我Code1 天前
开发者-2026年中总结
前端·面试·程序员
浮生望1 天前
React 受控与非受控组件:从表单状态管理到实时校验的完整实践
前端
糖墨夕1 天前
第二章:AI Agent 到底是个啥?—— 用生活场景把概念讲明白
前端
Csvn1 天前
⚡ content-visibility: auto —— 长页面渲染提速的隐藏神器,白捡的性能优化
前端
用户938515635071 天前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈
snow@li1 天前
web:前端500知识点/速查手册
前端
kyriewen1 天前
今年裁了16万技术人——但字节前端岗反而涨了23%
前端·javascript·面试
用户059540174461 天前
把 AI Agent 记忆存储验证从 40 分钟手测压到 3 分钟,pytest + Docker 这套组合太顶了
前端·css