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

CSS:弹性盒子模型详解(用法 + 例子 + 效果)

目录

  • 弹性盒子模型
    • flex-direction 排列方式 主轴方向
    • 换行
    • 排序
    • 控制子元素缩放比例
      • 缩放是如何实现的?
    • 控制子元素的对其方式
      • justify-content 横向 对齐方式
      • align-items 纵向 对齐方式
    • align-content 多行 对齐方式

弹性盒子模型

flex-direction 排列方式 主轴方向

flex-direction: row; 横向布局,默认从左向右。
flex-direction: row-reverse; 横向布局,从右向左。
flex-direction: column; 纵向布局,从上到下。
flex-direction: column-reverse; 纵向布局,从下到上。

.top{width:800px;background: yellow;display:flex;flex-direction: row-reverse;  
}

在这里插入图片描述

换行

flex-wrap: wrap; 换行
flex-wrap: nowrap; 不换行

排序

给子级加上 order: 编号
值越小越考前,值越大越向后排。

.top{width:800px;background: yellow;display:flex;flex-direction: row;  
}.bottom{width:800px;height:200px;background:pink;
}.left{width:200px;height:100px;background:orange;float:left;order:1;
}
.middle{width:200px;height:100px;background:blue;float:left;order:3;
}
.right{width:200px;height:100px;background: purple;float:left;order:2;
}

在这里插入图片描述

控制子元素缩放比例

作用于子级元素。
flex-shrink: 压缩因子。
flex-grow: 拉伸因子。
flex-grow: 基准因子,一般用宽度代替。

.top{width:800px;background: yellow;display:flex;flex-direction: row;  
}.bottom{width:800px;height:200px;background:pink;
}.left{width:200px;height:100px;background:orange;flex-grow: 8;
}
.middle{width:200px;height:100px;background:blue;flex-grow:5;
}
.right{width:200px;height:100px;background: purple;flex-grow:1;
}

三个比例的拉伸效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

缩放是如何实现的?

拉伸:把所有flex-gorw求和,在把未占满的位置分为总和个份数,根据每个子集的比例分给子集。
缩小:根据子集宽度按比例比例自动缩小。

控制子元素的对其方式

justify-content 横向 对齐方式

其实是和主轴方向有关系,不一定是横向的,这里用横向举例展示。
justify-content: flex-start; 默认左对其
在这里插入图片描述
justify-content: flex-end; 右
在这里插入图片描述
justify-content: center; 中间
在这里插入图片描述
justify-content: space-between; 空白放中间
在这里插入图片描述
justify-content: space-around; 空白放周围
在这里插入图片描述
justify-content: space-evenly; 空白均匀分布
在这里插入图片描述

align-items 纵向 对齐方式

align-items: flex-start; 默认顶端对齐
在这里插入图片描述
align-items: flex-end; 底端对齐
在这里插入图片描述
align-items: center; 居中对齐
在这里插入图片描述
align-items: baseline; 首行底端对齐
在这里插入图片描述

align-content 多行 对齐方式

align-content: flex-start; 所有行都在顶端
我们先给给父级加上高度,好用来展示效果。
在这里插入图片描述
align-content: flex-end; 底部
在这里插入图片描述
align-content: center; 中间
在这里插入图片描述
align-content: space-betwween; 空白放中间
在这里插入图片描述
align-content: space-around; 空白放周围
在这里插入图片描述
align-content: space-evenly; 空白均匀分布
在这里插入图片描述

http://www.lryc.cn/news/121179.html

相关文章:

  • 分类预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测
  • 拜读苏神-1-深度学习+文本情感分类
  • 【uniapp 小程序开发语法篇】资源引入 | 语法介绍 | UTS 语法支持(链接格式)
  • Stable Diffusion教程(9) - AI视频转动漫
  • 378. 有序矩阵中第 K 小的元素
  • 商品首页(sass+git本地初始化)
  • Games101学习笔记 - MVP矩阵
  • 从零开始搭建个人博客网站(hexo框架)
  • vue的proxy代理详解
  • 计算机网络 ARP协议 IP地址简述
  • 2021年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 机器学习实战4-数据预处理
  • 项目管理师基础之项目管理计划和项目文件
  • 【单片机】DS2431,STM32,EEPROM读取与写入
  • c++11 标准模板(STL)(std::basic_stringbuf)(一)
  • flutter开发实战-WidgetsBinding监听页面前台后台退出状态
  • 父进程等待子进程退出 / 僵尸进程孤儿进程
  • 【LeetCode 75】第二十六题(394)字符串解码
  • UNIX网络编程——TCP协议API 基础demo服务器代码
  • [保研/考研机试] KY163 素数判定 哈尔滨工业大学复试上机题 C++实现
  • iOS_crash文件的获取及符号化(解析)
  • STM32定时器TIM控制
  • 网络请求中,token和cookie有什么区别
  • Javaweb_xml
  • http相关知识点
  • 【SA8295P 源码分析】68 - Android 侧用户层 输入子系统获取 /dev/input/event0 节点数据 代码流程分析
  • 走出迷宫(多组输入bfs)
  • Linux系统编程-终端、进程组、会话
  • Linux部分文件操作记录
  • Android系统-进程-Binder2-Java层