CSS的flex弹性布局

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8" />

<title>flex弹性布局</title>

<style>

/* 加了flex是弹性容器 */

.box{

display: flex;

height: 300px;

/* justify-content: start; 默认情况 */

/* justify-content: flex-end; 从右边开始 */

/* justify-content: center; 盒子居中 */

/* justify-content: space-between; 空白间距均分在弹性盒子之间 */

/* justify-content: space-between; 弹性盒子与容器之间间距相等,父级剩余的尺寸分配间距分配 */

/* justify-content: space-around; 空白间距均分在弹性盒子两侧 */

/* justify-content: space-evenly; 弹性盒子与容器之间间距相等 */

border: 1px solid black;

/* align-items: center; 居中 */

/* align-items: flex-end; */

/* align-items: flex-start; */

}

/* 让第二个div,侧轴居中对齐 */

.box div:nth-child(2){

align-self: center;

}

/* 子级div是弹性盒子:沿着主轴方向排列,默认是水平的 */

.box div{

width: 200px;

height: 100px;

background-color: pink;

}

</style>

</head>

<body>

<!-- 默认情况下,主轴方向的尺寸是靠内容撑开,侧轴默认拉伸 -->

<!-- 认识Flex

flex布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。

flex模型不会产生浮动布局中脱标现象,布局更简单更灵活

-->

<!-- flex --组成

设置方式:给父元素设置display:flex,子元素可以自动挤压或拉伸

组成部分:

弹性容器

弹性盒子(根据子级div数量宽高自动改变子级div的宽高)

主轴:默认在水平方向

侧轴/交叉轴:默认在垂直方向

-->

<div class="box">

<div>1</div>

<div>2</div>

<div>3</div>

<!-- <div>4</div>

<div>5</div>

<div>6</div>

<div>7</div>

<div>8</div>

<div>9</div> -->

</div>

<!-- 布局

1.创建flex容器:display:flex

2.主轴对齐方式:justify-content

属性值:

flex-start:默认值,弹性盒子从起点开始依次排列

flex-end:弹性盒子从终点开始依次排列

center:弹性盒子沿主轴居中排列

space-between:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间

space-around:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧

space-evenly:弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

3.侧轴对齐方式:align-items

当前弹性容器内所以弹性盒子的侧轴对齐方式(给弹性容器设置)

某个弹性盒子侧轴对齐方式:align-self

单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)

属性值:(align-items和align-self属性值一样)

stretch:弹性盒子沿着侧轴线被拉伸至铺满容器(弹性盒子没有设置侧轴方向尺寸则默认拉伸)

center:弹性盒子沿着侧轴居中排列

flex-start:弹性盒子从起点开始依次排列

flex-end:弹性盒子从终点开始依次排列

4.修改主轴方向:flex-direction

主轴默认在水平方向,侧轴默认在垂直方向

属性值:

row:水平方向,从左向右(默认)

column:垂直方向从上到下

row-reverse:水平方向,从右向左

column-reverse:垂直方向,从上向下

5.弹性伸缩比:flex

控制弹性盒子的主轴方向的尺寸

属性值:整数数字,表示占用父级剩余尺寸的份数

弹性盒子换行:flex-warp

弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示

属性值:

warp:换行

nowrap:不换行(默认)

行对齐方式:align-content

注意,对单行不生效,要有flex-warp:warp

属性值:

flex-start:默认值,弹性盒子从起点开始依次排列

flex-end:弹性盒子从终点开始依次排列

center:弹性盒子沿主轴居中排列

space-between:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间

space-around:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧

space-evenly:弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

-->

</body>

</html>

相关推荐
陈随易35 分钟前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
福兮说2 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
传人once3 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.464 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
传人once5 小时前
悬停旋转放大和位移效果如何写
javascript·css·动画
库拉镜像AI牛牛5 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
律宏阔5 小时前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
行者全栈架构师5 小时前
【鸿蒙心迹】相册文搜图工程化落地:HarmonyOS 7.0 端侧 AI 检索全链路实战与 5 个踩坑解法
前端
律宏阔5 小时前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
Seraphina366 小时前
DVWA(XSS Reflected/Stored High,CSRF Low)
前端·xss·csrf