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

css弹性盒子——flex布局

目录

​编辑

一、flex容器的样式属性(父元素属性)

 display:flex  弹性盒子,实现水平排列,在父盒子设置,适用于单行/单列

justify-content

二、flex元素的样式属性(子元素属性)

1.flex-grow

 2.flex-shrink

3.flex-basis

4.flex组合属性 flex:flex-grow flex-shrink flex-basis;

5.order

6.align-self 单独控制某个元素


一、flex容器的样式属性(父元素属性)

 display:flex  弹性盒子,实现水平排列,在父盒子设置,适用于单行/单列

默认子盒子宽高度超过父盒子时,按父盒子宽高度均分,再多则会溢出

flex和上面的block,inline,inline-block并列, display只能设置一个属性,display和float不能出现在同一个盒子的属性里。

flex-direction: column;flex-wrap:wrap;  等于 flex-flow: row wrap;

使用F12可快速调试各属性的页面效果 

justify-content

justify-content:space-evenly; 

justify-content:space-between;

 justify-content: space-around;两侧的空间是中间元素间隔空间的一半 

stretch(默认值)

align-items:baseline;

二、flex元素的样式属性(子元素属性)

1.flex-grow

单个盒子范围0~1 延伸至剩余空间的0~1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 300px;background-color: skyblue;display: flex;}.box div{width: 100px;height: 100px;background-color: pink;flex-grow: 0.6;}</style>
</head>
<body><div class="box"><div>1</div></div>
</body>
</html>

多个子盒子设置超过1时,剩余空间分成n份

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 300px;background-color: skyblue;display: flex;}.box div:nth-of-type(1){width: 100px;height: 100px;background-color: pink;flex-grow: 3;}.box div:nth-of-type(2){width: 200px;height: 100px;background-color: green;flex-grow: 2;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div></div>
</body>
</html>

 2.flex-shrink

收缩超出部分的0~1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 300px;background-color: skyblue;display: flex;}.box div:nth-of-type(1){width: 600px;height: 100px;background-color: pink;flex-shrink: 0.5;}/* .box div:nth-of-type(2){width: 200px;height: 100px;background-color: green;} */</style>
</head>
<body><div class="box"><div>1</div><!-- <div>2</div> --></div>
</body>
</html>

3.flex-basis

设置主轴初始尺寸,0%(不起作用),n px

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 500px;background-color: skyblue;display: flex;}.box div:nth-of-type(1){width: 100px;height: 100px;background-color: pink;/* flex-shrink: 0.5; */flex-basis: 200px;}/* .box div:nth-of-type(2){width: 200px;height: 100px;background-color: green;flex-grow: 0.5;} */</style>
</head>
<body><div class="box"><div>1</div><!-- <div>2</div> --></div>
</body>
</html>

4.flex组合属性 flex:flex-grow flex-shrink flex-basis;

flex:1;  表示1 1 0%

flex:0.5; 表示0.5 1 0%

5.order

顺序

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 500px;background-color: skyblue;display: flex;/* flex-direction: column; */}.box div{width: 100px;height: 100px;background-color: pink;border: 1px solid black;}.box div:nth-of-type(1){order:1;}.box div:nth-of-type(1){order:-1;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div></div>
</body>
</html>

6.align-self 单独控制某个元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>flex-grow</title><style>.box{width: 500px;height: 300px;background-color: skyblue;display: flex;/* flex-direction: column; */}/* .box div:nth-of-type(1){width: 100px;height: 100px;background-color: pink;flex-shrink: 0.5;flex-basis: 200px;flex:1;} *//* .box div:nth-of-type(2){width: 200px;height: 100px;background-color: green;flex-grow: 0.5;} */.box div{width: 100px;height: 100px;background-color: pink;border: 1px solid black;}/* .box div:nth-of-type(1){order:1;} */.box div:nth-of-type(4){align-self: flex-end;}</style>
</head>
<body><div class="box"><div>1</div><div>2</div><div>3</div><div>4</div></div>
</body>
</html>

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

相关文章:

  • 亚马逊云科技 Gen BI 2024-09-04 上海站QuickSight
  • 【Qt】Qt和JavaScript使用QWebChannel交互
  • 码住!15个爆好用知识库软件工具分享
  • MybatisPlus中@EnumValue注解介绍、应用场景和示例代码
  • 【计算机网络】描述TCP建立连接与断开的过程
  • CSS学习14[重点]
  • 力扣 | 递归 | 区间上的动态规划 | 486. 预测赢家
  • 黑白格
  • 数据链路层(MAC地址)
  • 【ruby java】登陆功能/邮件发送模版240903
  • 告别格式不兼容烦恼!ape转换mp3,分享3个简单方法
  • Java核心知识体系-并发与多线程:线程基础
  • KRaft模式下的Kafka启动指南:摆脱Zookeeper依赖
  • 【数据库】MySQL-基础篇-函数
  • dp练习【4】
  • php 实现推荐算法
  • 相机光学(三十六)——光圈
  • 数据结构——树和二叉树
  • 142. Go操作Kafka(confluent-kafka-go库)
  • spring boot(学习笔记第十九课)
  • docker安装 redis 并且加密开启SSL/TLS通道
  • 什么是ARM架构?什么是X86架构?两者的区别是什么?
  • 【vscode】vscode paste image插件设置
  • 自定义string类
  • Python | Leetcode Python题解之第387题字符串中的第一个唯一字符
  • RocketMQ 消费时序列化报错问题分析及解决
  • 全能与专精:探索未来AI模型的发展趋势与市场潜力
  • Python深度学习:【开源数据集系列】ImageNet数据集
  • 微信小程序手写签名
  • Javascript 使用中点查找矩形的角(Find Corners of Rectangle using mid points)