码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • css之Flex弹性布局(父项常见属性)


    文章目录

    • 🐕前言:
      • 🏨定义flex容器 display:flex
      • 🏨在flex容器中子组件进行排列
        • 🪂行排列 flex-direction: row
        • 🪂将行排列进行翻转排列 flex-direction: row-reverse
        • 🏅按列排列 flex-direction: column;
        • 🏅按列排列 flex-direction: column-reverse
      • 🪀flex容器内的默认宽度
        • 🏅默认宽度 width: max-content
        • 🏅默认宽度 width: min-content
        • 🏅自定义宽度 flex-basis: 100px
        • 🎀平均分配宽度 flex-grow: 1
        • 🐕缩小组件逻辑 flex-shrink: 1
        • 简写:flex:grow shrink basis
      • 🎀组件交叉轴对齐方式(行高)align-items:stretch
      • 🎀组件水平轴(主轴)对齐方式 justify-content:flex-start
      • 🎀组件换行 flex-wrap:nowrap(放不下了,又不想缩小宽度,想换行放)
      • 🎀flex多轴之间的对齐 align-content: normal

    🐕前言:

    本篇博客会讲解css中的弹性布局的常见用法,
    在这里插入图片描述

    🏨定义flex容器 display:flex

    将一个div定义成flex容器,它分为主轴与交叉轴(其中左右边对应主轴的start、end,上下边对应交叉轴的start、end)

    display:flex
    
    • 1

    在这里插入图片描述

    🏨在flex容器中子组件进行排列

    🪂行排列 flex-direction: row

    flex-direction: row
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    🪂将行排列进行翻转排列 flex-direction: row-reverse

    flex-direction: row-reverse
    
    • 1

    在这里插入图片描述
    注意:由于翻转时主轴的start、end会进行对调,故紧挨着右边界

    在这里插入图片描述

    🏅按列排列 flex-direction: column;

    flex-direction: column;
    
    • 1

    注意:按列排列时主轴的start、end会变成竖轴
    在这里插入图片描述

    在这里插入图片描述

    🏅按列排列 flex-direction: column-reverse

    注意:按列排列时主轴的start、end会变成竖轴,由于翻转时主轴的start、end会进行对调,故紧挨着下边界

    flex-direction: column-reverse;
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    🪀flex容器内的默认宽度

    在这里插入图片描述

    在flex容器中哪怕你的子组件是div(块元素),也都会加上默认宽度(width:max-content)
    在这里插入图片描述

    🏅默认宽度 width: max-content

    这个宽度就是你内容的宽度,一直不换行
    在这里插入图片描述
    下面还有一种情况:

    🏅默认宽度 width: min-content

    但是如果你的内容长度超过了页面大小(就是内容跑到显示外面去了),那么它默认长度就会发生改变,变成(width: min-content),它的长度是内容中最长单词的长度
    在这里插入图片描述

    🏅自定义宽度 flex-basis: 100px

    假设父元素宽度500px,子组件自定义宽度50px,那么还有200px空余空间,
    如果想平均分配这200px:(为了理解,这里省略了样式修饰)

    .bar{
    	display: flex;/* 将标签变为flex容器 */
    	width: 500px;
    	.item{/* 子组件 */
    		flex-basis: 50px;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    🎀平均分配宽度 flex-grow: 1

    在这里插入图片描述
    这个是怎么计算的呢
    (50px+ 1y )*5=500px ,得出y=50px的空余空间,故每个元素可以分到50px空余
    在这里插入图片描述

    🐕缩小组件逻辑 flex-shrink: 1

    当组件的长度之和超过容器长度,默认平均长度,而不会超出页面
    在这里插入图片描述
    在这里插入图片描述

    简写:flex:grow shrink basis

    等分:

    flex:1 0px;
    
    • 1

    🎀组件交叉轴对齐方式(行高)align-items:stretch

    默认的:(以组件中最大的行高定义)

    align-items: stretch;
    
    • 1

    统一在交叉轴起点对齐

    align-items: flex-start;
    
    • 1

    统一在交叉轴终点对齐

    align-items: flex-end
    
    • 1

    统一在交叉轴居中对齐

    align-items: center;
    
    • 1

    基于文字的基线对齐

    align-items: baseline;
    
    • 1

    🎀组件水平轴(主轴)对齐方式 justify-content:flex-start

    默认主轴对齐方式(以start为起始位置):

    justify-content:flex-start;
    
    • 1

    以end终点对齐:

    justify-content:flex-end;
    
    • 1

    水平居中:

    justify-content:center;
    
    • 1

    我们设置导航栏:让组件紧挨着左右两边,中间的距离是相等的

    justify-content:space-between;
    
    • 1

    我们设置导航栏:让组件比较均匀的分布,中间的距离是两边距离的两倍 2:1

    justify-content:space-around;
    
    • 1

    我们设置导航栏:让组件比较均匀的分布,中间的距离等于两边的距离 1:1

    justify-content:space-evenly;
    
    • 1

    🎀组件换行 flex-wrap:nowrap(放不下了,又不想缩小宽度,想换行放)

    默认不换行:

    flex-wrap:nowrap;
    
    • 1

    在这里插入图片描述

    换行:

    flex-wrap:wrap;
    
    • 1

    在这里插入图片描述

    🎀flex多轴之间的对齐 align-content: normal

    默认:不对齐啥样子,就是啥样子

    align-content: normal
    
    • 1

    从交叉轴start对齐、从交叉轴end对齐

    align-content: flex-start;
    align-content: flex-end;
    
    • 1
    • 2

    竖着看:首尾元素距离是中间元素之间距离的一半 1:2

    align-content: space-around
    
    • 1

    在这里插入图片描述

    竖着看:首尾元素没有空隙,中间距离平均

    align-content: space-between;
    
    • 1

    在这里插入图片描述

    竖着看:首尾元素没有空隙,中间距离平均

    align-content: space-evenly;
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    mysql—MHA原理与实现
    设计模式与应用:备忘录模式
    4.vue知识点vuex
    python利用read_table读取dat文件案例详解
    【GEE】8、Google 地球引擎中的时间序列分析【时间序列】
    物体6D位姿估计方法总结
    B. Find The Array
    【开源】基于Vue.js的中小学教师课程排课系统
    x265源码分析-estimateCUCost
    Kotlin学习(一)
  • 原文地址:https://blog.csdn.net/qq_66443592/article/details/133964166
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号