如何用Flex布局制作响应式布局?
2025-04-15
18
参考资料
基本概念
Flex布局(弹性盒子布局)是一种CSS3布局模式,用于创建灵活的响应式布局结构。
核心属性
容器属性
display: flex;
- 定义Flex容器flex-direction:
- 主轴方向row
(默认)row-reverse
column
column-reverse
flex-wrap:
- 换行方式nowrap
(默认)wrap
wrap-reverse
justify-content:
- 主轴对齐flex-start
(默认)flex-end
center
space-between
space-around
align-items:
- 交叉轴对齐stretch
(默认)flex-start
flex-end
center
baseline
项目属性
order:
- 排列顺序flex-grow:
- 放大比例flex-shrink:
- 缩小比例flex-basis:
- 初始大小align-self:
- 单个项目对齐
响应式示例
<div class="container"> <div class="item">1</div> <div class="item">2</div> <div class="item">3</div> </div>
.container { display: flex; flex-wrap: wrap; justify-content: space-between; } .item { flex: 1 0 200px; /* 基础宽度200px,可增长,不缩小 */ margin: 10px; } /* 媒体查询调整 */ @media (max-width: 600px) { .container { flex-direction: column; } .item { flex-basis: auto; } }
常用模式
等宽列:
.container { display: flex; } .item { flex: 1; }
固定+弹性宽度:
.sidebar { flex: 0 0 250px; } .main { flex: 1; }
网格布局:
.grid { display: flex; flex-wrap: wrap; } .grid-item { flex: 0 0 calc(33.33% - 20px); margin: 10px; }
浏览器支持
所有现代浏览器都支持Flex布局,IE10-11有部分支持,需要加-ms-
前缀。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。