LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

CSS 布局大比拼:浮动、Flex、Grid 实战对比,看完就知道该用哪个!

admin
2025年9月22日 15:27 本文热度 78

前端开发中,页面布局一直都是基础,在CSS广泛使用之前大部分布局是使用的table布局,CSS流行后,CSS布局一直是布局核心技能之一。随着CSS技术的不断发展,我们经历了从浮动到Flexbox再到Grid的演进过程。面对这三种主流的布局方案,很多开发者都会疑惑:到底该选择哪种布局方式?今天我们从几个简单的例子来分别用不同的布局实现一下,就来一场实战对比,让你彻底搞清楚!


我们先看看一个简单的布局,一个盒子里面包含三个盒子,需要两边对齐,中间间距均等分;


首先出场的是“浮动布局”:

浮动布局曾是Web布局的唯一选择,虽然现在略显老态,但仍有其适用场景,而且简单容易上手。

<style>/* 传统浮动布局 */.container {  overflow: hidden;  width700px;  border5px solid #000;  padding20px;}.box {  float: left;  width200px;  height100px;  margin-right:50px;  box-sizing: border-box;  background-color: orange;}.box:last-child {  margin-right:0px ;}/* 清除浮动 */.clearfix::after {  content"";  display: table;  clear: both;</style><div class="container">  <div class="box">
  </div>  <div class="box">
  </div>  <div class="box">
  </div></div>

我们再看看 flex布局(弹性布局):
Flexbox布局为的一维布局提供了完美的解决方案,让我们能够轻松实现元素的弹性排列。
<style>/* Flexbox布局 */.container {  width700px;  border5px solid #000;  padding20px;  display: flex;  justify-content: space-between;  align-items: center;  flex-wrap: wrap;}.box {  width200px;  height100px;  box-sizing: border-box;  background-color: orange;}</style>
<div class="container">  <div class="box">
  </div>  <div class="box">
  </div>  <div class="box">
  </div></div>

我们再看看grid布局(网格布局):
CSS Grid布局是专门为二维布局设计的革命性技术,可以同时处理行和列的布局。
<style>.container {  width700px;  border5px solid #000;  padding20px;  display: grid;  grid-template-columnsrepeat(3200px);  justify-content: space-between; /* 两边对齐 */}.box {  width200px;  height100px;  box-sizing: border-box;  background-color: orange;}</style><div class="container">  <div class="box">
  </div>  <div class="box">
  </div>  <div class="box">
  </div></div>

通过上面的例子,我们可以看出:

  • 浮动布局相对好理解,需要间隔多少,直接给出值,但是需要清除浮动,否则会导致布局塌陷,实现复杂布局时代码冗长;因为值比较固定所以响应式适配需要大量媒体查询,比较适合简单网格布局、文字环绕图片等传统布局需求。
  • flex布局代码比较少,对于这种横向布局方式,比较简单,如果要实现元素的垂直居中,左右居中都很方便,元素顺序可灵活调整,强大的空间分配能力。
  • Grid布局在这个例子中和flex布局区别不太大,没有明显的优势。


      当然,平时我们这三种并不是互相排斥的,是可以结合起来用的,grid可以用来做整体页面布局或者是复杂的网格布局,flex特别适合组件内部布局。
我这里写了一个混合使用的例子:
<style>/* Grid作为整体布局,Flexbox作为内部组件布局 */.page {  display: grid;  grid-template-columns250px 1fr;  grid-template-rows: auto 1fr auto;  border2px solid #00ff00;}
.nav {  height100vh;  display: flex;  flex-direction: column;  align-items: center;  border2px solid #ff00ff;}
.box {  width200px;  height100px;  border1px solid #000;  box-sizing: border-box;  background-color: orange;}
.card-container {  display: grid;  grid-template-columnsrepeat(auto-fill, minmax(300px1fr));  gap20px;  border2px solid #00ffff;}
.card {  display: flex;  flex-direction: column;  border2px solid #0000ff;}</style><div class="page">  <div class="nav">    <div class="box"></div>    <div class="box"></div>    <div class="box"></div>  </div>  <div class="card-container">    <div class="card">
    </div>    <div class="card">
    </div>    <div class="card">
    </div>    <div class="card">
    </div>    <div class="card">
    </div>  </div></div>

      现代前端开发中,推荐以Grid为主力布局工具,Flexbox作为补充,浮动布局仅用于特定场景。掌握这三种技术,并根据实际需求灵活选择,是你成为CSS高手的关键!


阅读原文:点击这里


该文章在 2025/9/22 15:27:57 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved