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

news/2024/11/16 9:19:43/

目录

  • 弹性盒子模型
    • 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.ppmy.cn/news/1028081.html

相关文章

tkinter+爬虫+pygame实现音乐播放器

文章目录 前文安装模块示意图爬虫完整代码pygametkinter完整代码结尾前文 本文将涉及爬虫(数据的获取),pygame(音乐播放器),tkinter(界面显示),将他们汇聚到一起制造一个音乐播放器,欢迎大家的订阅。 安装模块 pip install requests,parsel,lxpy,pygame 示意图

leetcode 6914. 翻倍以链表形式表示的数字

给你一个 非空 链表的头节点 head ,表示一个不含前导零的非负数整数。 将链表 翻倍 后,返回头节点 head 。 示例 1: 输入:head [1,8,9] 输出:[3,7,8] 解释:上图中给出的链表,表示数字 189 。返…

python+tkinter实现图书管理系统(首发)

文章目录 前文运行环境功能图数据操作图书数据管理用户数据管理借书记录管理 功能界面管理员界面首页图书管理用户管理借书记录更改密码 普通用户界面 其他功能数字时间显示加载画面显示输入框提示词界面居中显示借书时间和还书时间记录公告栏数据操作 结尾 前文 本文将用tkin…

java+springboot+mysql智能社区管理系统

项目介绍: 使用javaspringbootmysql开发的社区住户综合管理系统,系统包含超级管理员、管理员、住户角色,功能如下: 超级管理员:管理员管理;住户管理;房屋管理(楼栋、房屋&#xff…

【Linux】网络协议总结

目录 网络协议总结 应用层 传输层 网络层 数据链路层 网络协议总结 应用层 应用层的作用:负责应用程序间沟通,完成一系列业务处理所需服务。能够根据自己的需求,设计对应的应用层协议。了解HTTP协议。理解DNS的原理和工作流程。 传…

25考研:跨专业考研难吗?

25考研:跨专业考研难吗? 嘉兴校址:嘉兴市南湖区中山东路205号嘉华广场4楼 (建国珠宝城旁)上元教育 海宁校址:海宁市西山路832号金贸大厦11楼1101号上元教育 桐乡校址:桐乡市东悦路吾悦广场156号…

是否超过售后期

目录 1.1 /// 是否超过售后期 1.2 /// 获取快递信息 1.3 /// 计算会员折扣价 1.4 //如果是限时购,则不处理折扣价 /// <summary> /// 是否超过售后期

【Go 基础篇】Go语言字符类型:解析字符的本质与应用

介绍 字符类型是计算机编程中用于表示文本和字符的数据类型&#xff0c;是构建字符串的基本单位。在Go语言&#xff08;Golang&#xff09;中&#xff0c;字符类型具有独特的特点和表示方式&#xff0c;包括Unicode编码、字符字面值以及字符操作。本篇博客将深入探讨Go语言中的…