CSS学习笔记:flex布局(弹性布局)

设置flex布局

父元素添加display: flex

使用justify-content调节元素在主轴的对齐方式

给父元素添加justify-content属性,取值如下

用于调节子元素在主轴方向(水平方向)的对齐方式

使用align-items调节元素在侧轴的对齐方式

给父元素添加align-items属性,取值如下

用于调节子元素在侧轴方向(垂直方向)的对齐方式

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

注意:align-self是给子元素添加的属性,用于单独控制该元素在侧轴的对齐方式

使用flex属性修改弹性盒子伸缩比

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box {
            display: flex;

            height: 300px;
            border: 1px solid #000;
        }

        .box div {
            height: 300px;
        }

        .box div:nth-child(1) {
            width: 50px;
            background-color: pink;
        }

        .box div:nth-child(2) {
            /* 占用父级剩余尺寸的3/4 */
            flex: 3;
            background-color: skyblue;
        }

        .box div:nth-child(3) {
            /* 占用父级剩余尺寸的1/4 */
            flex: 1;
            background-color: orange;
        }
        
    </style>
</head>
<body>
    <div class="box">
        <div>1</div>
        <div>2</div>
        <div>3</div>
    </div>
</body>
</html>

浏览器预览效果

使用flex-direction改变元素排列方向

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

修改主轴方向属性: flex-direction

使用flex-wrap实现弹性盒子多行排列效果

弹性盒子换行显示: flex-wrap: wrap;

调整侧轴方向的对齐方式:align-content(取值与justify-content基本相同 )

align-item和align-content的区别:

align-items 用于单行内部的对齐,而 align-content 用于多行之间的对齐

如果你的 flex 容器只有一行,那么 align-content 将不会产生任何效果

相关推荐
CandyU29 小时前
C++ 学习 —— 02 - 排序算法
c++·学习·排序算法
~无忧花开~9 小时前
CSS学习笔记(二):CSS动画核心属性全解析
开发语言·前端·css·笔记·学习·css3·动画
小九今天不码代码9 小时前
深入理解 CSS 表格布局:table-layout 的秘密与实战详解(附费用报销单案例)
css·前端开发·表格布局·web设计·table-layout·页面优化·样式布局
浓墨染彩霞10 小时前
Java----set
java·经验分享·笔记
浮游本尊10 小时前
React 18.x 学习计划 - 第五天:React状态管理
前端·学习·react.js
baole96310 小时前
YOLOv4简单基础学习
学习·yolo·目标跟踪
Pluchon11 小时前
硅基计划5.0 MySQL 叁 E-R关系图&联合/多表查询&三大连接&子查询&合并查询
开发语言·数据库·学习·mysql
爱滑雪的码农11 小时前
微信小程序页面配置,基本语法,页面切换,tabbar全局配置
笔记
学工科的皮皮志^_^11 小时前
网口学习理解
经验分享·笔记·嵌入式硬件·学习·fpga开发·以太网
张人玉12 小时前
C#WPF如何跳转页面
笔记·ui·c#·wpf