当前位置: 首页 > article >正文

CSS伸缩盒模型(弹性盒子)

伸缩盒模型(Flexbox,Flexible Box Layout)是 CSS 中一种一维布局模型,用于更高效地处理元素的对齐、分布和响应式布局。其核心思想是让容器内的子元素(称为“项目”)能够灵活地自动调整大小和位置以适应不同屏幕尺寸和内容变化。

1.​核心特性

1.1​容器与项目

​        容器:使用 display: flex 或 display: inline-flex 定义的父元素。 ​

        项目:容器内的直接子元素,默认沿容器的主轴排列。 ​

1.2主轴与交叉轴

​        主轴​(默认水平方向):项目排列的方向。

        ​交叉轴​(垂直于主轴):项目对齐的方向。 ​

1.3关键属性

​        flex-direction:定义主轴方向(如 row, column)。 ​

        justify-content:控制项目在主轴上的对齐方式(如 flex-start, center, space-between)。

​        align-items:控制项目在交叉轴上的对齐方式(如 stretch, center)。

        ​flex-wrap:允许项目换行(如 nowrap, wrap)。

        ​align-self:单独调整某个项目的对齐方式。

1.4​弹性伸缩

项目可通过 flex: grow/shrink 或 flex-basis 控制大小比例,默认均分可用空间。 例如:flex: 1 表示项目可等比例扩展,flex: 2 0 auto 表示优先放大两倍。

​2.优势

简化复杂布局:无需浮动或定位即可实现水平/垂直居中、多栏等效果。

​响应式设计:自动适应屏幕尺寸变化,适合移动端开发。 ​

代码简洁:减少冗余样式,提高维护性。 ​

3.常见场景:

        3.1导航栏(横向菜单)

        3.2响应式图片轮播

        3.3多栏布局(如博客侧边栏)

        3.4表单元素对齐

4.示例代码

.container {
  display: flex;
  justify-content: space-between; /* 主轴两端对齐 */
  align-items: center;           /* 交叉轴居中对齐 */
}
.item {
  flex: 1; /* 等比例占据剩余空间 */
  min-width: 200px;
}


http://www.kler.cn/a/582022.html

相关文章:

  • 01 音视频知识学习(视频)
  • 写一个简单的SQL生成工具
  • 算法刷题--贪心算法
  • Sentinel-1 InSAR ISCE数据处理:stackSentinel.py 完全指南
  • python LLM工具包
  • API调试工具的无解困境:白名单、动态IP与平台设计问题
  • Faster R-CNN原理详解以及Pytorch实现模型训练与推理
  • Spring Boot 整合 RabbitMQ(在Spring项目中使用RabbitMQ)
  • Chrome 浏览器 134 版本新特性
  • 一周学会Flask3 Python Web开发-SQLAlchemy连接Mysql数据库
  • Html5-照片滤镜应用学习经验总结
  • Windows10下docker desktop命令行操作指南(大部分也适用于Linux)
  • Jmeter请求发送加密参数
  • K8S学习之基础二十三:k8s的持久化存储之nfs
  • 机器学习 Day02,matplotlib库绘图
  • TikTok多店铺网络安全搭建指南
  • 在资源有限中逆势突围:从抗战智谋到寒门高考的破局智慧
  • 数据库统计信息开启和关闭
  • 深入浅出Bearer Token:解析工作原理及其在Vue、Uni-app与Java中的实现Demo
  • Redis 设置密码(配置文件、docker容器、命令行3种场景)