CSS -- 09. 移动WEB开发之flex布局

news2025/1/20 1:49:49

文章目录

  • 移动WEB开发之flex布局
    • 1 flex布局原理
    • 2 常见的父项属性
      • 2.1 设置主轴方向 flex-direction
      • 2.2 设置主轴上的子元素排列方式 justify-content
      • 2.3 设置元素是否换行 flex-wrap
      • 2.4 设置侧轴上的子元素的排列方式(单行) align-items
      • 2.5 设置侧轴上的子元素的排列方式(多行) align-content
      • 2.6 flex-flow
    • 3 flex布局子项常见属性
      • 3.1 flex属性
      • 3.2 控制子项自己在侧轴上的排列方式 align-self
      • 3.3 属性定义项目的排列顺序 order

移动WEB开发之flex布局

传统布局和flex布局

  • 传统布局
    • 兼容性好
    • 布局繁琐
    • 局限性,不能在移动端很好的布局
  • flex布局
    • 操作方便,布局极为简单,移动端应用很广泛
    • PC端浏览器支持情况较差
    • IE11或更低版本,不支持或仅部分支持

如果是PC端页面布局,我们还是传统布局。

如果是移动端或者不考虑兼容性问题的PC端页面布局,我们还是使用flex弹性布局

1 flex布局原理

flex是flexible Box的缩写,意为"弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局。

  • 当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效.
  • 伸缩布局=弹性布局=伸缩盒布局=弹性盒布局整flex布局

采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"

image-20221220175318350

总结flex布局原理:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

2 常见的父项属性

以下由6个属性是对父元素设置的

  • flex-direction:设置主轴的方向
  • justify-content:设置主轴上的子元素排列方式
  • flex-wrap:设置子元素是否换行
  • align-content:设置侧轴上的子元素的排列方式(多行)
  • align-items:设置侧轴上的子元素排列方式(单行)
  • flex-flow:复合属性,相当于同时设置了flex-direction和flex-wrap

2.1 设置主轴方向 flex-direction

在flex布局中,是分为主轴和侧轴两个方向,同样的叫法有:行和列、x轴和y轴

  • 默认主轴方向就是×轴方向,水平向右
  • 默认侧轴方向就是y轴方向,水平向下

image-20221220175700557

flex-direction属性决定主轴的方向(即项目的排列方向)

注意:主轴和侧轴是会变化的,就看flex-direction设置谁为主轴,剩下的就是侧轴。而我们的子元素是跟着主轴来排列的

image-20221220175747825

2.2 设置主轴上的子元素排列方式 justify-content

justify-content.属性定义了项目在主轴上的对济方式

注意:使用这个属性之前一定要确定好主轴是哪个

image-20221220190549891

flex-start:

image-20221220190920171

flex-end

image-20221220190938063

center

image-20221220191008352

space-around

image-20221220191027834

space-between

image-20221220191040597

2.3 设置元素是否换行 flex-wrap

默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,flex布局中默认是不换行的。

如果放不下会把所有的子项目的宽度(高度)缩小

image-20221220191536999

2.4 设置侧轴上的子元素的排列方式(单行) align-items

该属性是控制子项在侧轴(默认是y轴)上的排列方式在子项为单项的时候使用

image-20221220191715301

2.5 设置侧轴上的子元素的排列方式(多行) align-content

设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行),在单行下是没有效果的。

image-20221220192252580

align-items和align-content的区别

  • align-items适用于单行情深下,只有上对齐、下对齐、居中和拉伸
  • align-content适应于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。
  • 总结就是单行找align-items,多行找align-content

2.6 flex-flow

flex-flow属性是flex-direction和flex-wrap属性的复合属性

flex-flow: row wrap;

3 flex布局子项常见属性

  • flex“子项目占的份数
  • align-self:控制子项自己在侧轴的排列方然
  • order:属性定义子项的排列顺序(前后顺序)

3.1 flex属性

flex属性定义子项目分配剩余空间,用flex来表示占多少份数。

item{
    flex: <number>;
}

案例:左右宽度固定,中间根据宽度自适应

image-20221220193530453

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        section {
            display: flex;
            width: 60%;
            height: 150px;
            background-color: pink;
            margin: 0 auto;
        }
        
        section div:nth-child(1) {
            width: 100px;
            height: 150px;
            background-color: red;
        }
        
        section div:nth-child(2) {
            flex: 1;
            background-color: green;
        }
        
        section div:nth-child(3) {
            width: 100px;
            height: 150px;
            background-color: blue;
    </style>
</head>

<body>
    <section>
        <div></div>
        <div></div>
        <div></div>
    </section>
</body>

</html>

3.2 控制子项自己在侧轴上的排列方式 align-self

align-self属性允许单个项目有与其他项目不一样的对济方式,可覆盖align-items属性。

默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

span:nth-child(2){
    /*设置自己在侧轴上的排列方式*/
    align-self: flex-end;
}

3.3 属性定义项目的排列顺序 order

数值越小,排列越靠前,默认为0。

注意和z-index不一样。z-index越大越靠前

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【矩阵论】6.范数理论——基本概念——矩阵范数生成向量范数谱范不等式

6.1.3 矩阵范数产生向量范数 CnnC^{n\times n}Cnn 上任一矩阵范数 ∥∙∥\Vert \bullet\Vert∥∙∥ 都产生一个向量范数 φ(X)∥X∥V\varphi(X)\Vert X\Vert_Vφ(X)∥X∥V​ 矩阵范数与向量范数的相容性&#xff1a;φ(Ax)≤∥A∥φ(x)\varphi(Ax)\le \Vert A\Vert\varphi(x)φ…

MySQL SSL安全解读

安全一直是不可不重视的问题。目前MySQL这方面应大方向上技术手段都具备。如&#xff1a;网络链接&#xff0c;权限控制&#xff0c;key秘钥认证&#xff0c;数据加密脱敏 等方式。综合考虑&#xff0c;虽然很多环境无法所有这些安全策略全部应用上&#xff0c;但在可控范围内尽…

【C语言数据结构(基础版)】第五站:树和二叉树

目录 一、树的概念及结构 1.树的概念 2.树的表示 3.树在实际中的应用 二、二叉树概念及结构 1.概念 2.特殊的二叉树 3.二叉树的性质 4.二叉树的存储结构 &#xff08;1&#xff09;顺序存储 &#xff08;2&#xff09;链式存储 三、二叉树链式结构的实现 1.二叉树的…

Mysql的MVCC知多少(隐藏字段,undolog版本链和ReadView)

文章目录前言一、什么是MVCC二、快照读与当前读三、4种隔离级别与MVCC四、MVCC实现4.1 隐藏字段和undolog版本链4.2 ReadView五、说明前言 其实自己之前对MVCC知之甚少&#xff0c;总觉得是一块很难啃的骨头&#xff0c;有点内惧&#xff0c;但当你真的掌握之后&#xff0c;就…

Fastadmin ThinkPHP5 宝塔环境 下Redis的使用教程

本篇为学习参考&#xff0c;不喜勿喷 此为宝塔windows环境下 1.首先在宝塔的安装面板&#xff0c;找到redis&#xff0c;点击安装。 2.安装完redis后&#xff0c;点击设置&#xff0c; 设置个密码(ps:留空代表没有设置密码) 3.php环境安装redis扩展&#xff08;ps:安装redis扩…

Linux学习笔记——Linux用户和权限管控

03、Linux用户和权限管控 3.1、认知root 用户 3.1.1、root用户&#xff08;超级管理员&#xff09; 1、无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root&#xff08;超级管理员&#x…

赛狐ERP运营篇 | 店铺管理数智化 ,风险规避更有效!

亚马逊卖家在运营的当中会遇到以下这些问题&#xff1a; 1、工作重复度高&#xff0c;每天浪费大量的时间整理数据报表。 2、数据分析指标单一&#xff0c;无法掌握全局数据指标&#xff0c;综合分析Listing。 3、熬夜调广告&#xff0c;无法精准调整广告预算、竞价。 4、运…

2023年入职/转行网络安全,该如何规划?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了 《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作为…

c盘扩展卷选项是灰的怎么办?win10系统c盘扩展卷灰色

在Windows自带的磁盘管理工具中&#xff0c;用户想要对C盘进行扩容&#xff0c;c盘扩展卷选项是灰的怎么办&#xff1f; 那么&#xff0c;在本文中&#xff0c;易我小编将为您解答c盘分区扩展灰色的相关知识&#xff0c;帮你用户高效快捷地拓展C盘。 一、c盘分区扩展灰色的原因…

Android入门第52天-在SharedPreference中使用加密

简介 在上一篇中&#xff0c;我们讲了SharedPreference的使用。但是那不是一个生产场景。特别是我们举了一个例子&#xff0c;存放登录信息的例子。这个例子里用户的密码没有加密&#xff0c;比如说在真实的实际生产环境里用户的一些敏感信息或者说是像&#xff1a;用户四要素…

磁矢位的引入 工程电磁场 P19

首先我们有恒定磁场的两个方程 为了更方便解决问题&#xff0c;我们引入磁矢位 由此我们可以得到 我们可以得到 我们要确定A&#xff0c;则既需要知道旋度&#xff0c;我们还需要知道散度 如果是均匀媒质&#xff0c;是常数 我们可以得到 我们进行展开可以得到 我们要知道…

索引的底层实现及应用和失效场景

简介 合适的索引能让查询语句性能得到极大的优化&#xff0c;它只是优化业务的一种方式&#xff0c;不能为了建立索引而建立索引。 索引是什么&#xff1f; 索引是一种为了快速查找数据的数据结构&#xff0c;是帮助数据库快速获取数据的 排好序的数据结构 (BTree)。 索引的好…

鸿翼医药备份解决方案:守护医疗数据 携手共克时艰

新冠疫情期间&#xff0c;CT检查成为了明确诊断的重要手段&#xff0c;医学影像科迎来了检测人次的高峰。随着大量的医学影像数据的产生&#xff0c;影像数据占据了医疗数据总数的80-85%&#xff0c;占据了大量的系统存储空间。 我国医学影像数据的年增长率大约为30-40%&#x…

容器云的双活与灾备技术

在多中心多云环境下&#xff0c;可将容器云部署为多活和灾备模式&#xff0c;通过全局负载均衡器实现应用的多中心多活与灾备。容器应用跨数据中心的双活&#xff0c;是将一个应用的不同副本部署到不同的数据中心&#xff0c;如图 1 所示的 Database 应用。 图1 Database应用双…

腾讯天美Java程序员月均20万!掌握这个后,也太香了....

最近在知乎上看到了这样一个热门问答 &#xff08; 图源自知乎&#xff0c;侵删&#xff09; 还附带了一张收入证明&#xff0c;看完后老夫直呼&#xff1a;我滴乖乖&#xff01;太刺激了&#xff01; 虽然这样的高收入只是少数&#xff0c;就像网友说的&#xff0c;不能看做是…

口罩形势下的医院财务管理

过去大多数年轻人一年甚至几年都不需要去医院&#xff0c;但是近三年的口罩带给人们的不便&#xff0c;使得医院一号难求&#xff0c;在这种新的形势下&#xff0c;医院财务管理也成为重要的改革对象财务管理是医院经济工作的核心。 医院所有的经营决策都必须以医院财务核算为…

代码随想录Day57|647.回文子串、516.最长回文子序列、动态规划总结篇

文章目录647.回文子串516.最长回文子序列动态规划总结篇647.回文子串 文章讲解&#xff1a;代码随想录 (programmercarl.com) 题目链接&#xff1a; 题目&#xff1a; 给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置…

企业如何在工作中应用知识管理?

伴随着知识经济时代的兴起&#xff0c;企业的经营管理模式发生了新的变革。这种变革主要体现在管理方式由传统的工业生产经营转向了创新的知识经济管理和知识管理&#xff08;KnowledgeManagement, KM)&#xff0c;通过技术创新、高技术领域的探索&#xff0c;以打破制约产业技…

附录2-上传自己的包

目录 1 Node中包的规范 2 创建包 2.1 package.json 2.2 内容部分 2.2.1 格式化时间 handle_date.js 2.2.2 转义/还原 HTML handle_html.js 2.2.3 index.js 2.2.4 测试功能 2.3 说明文档 3 发布包 3.1 注册账号 3.2 登录账号 3.3 上传 4 删除包 4.…

能源管理系统与能源管理平台|瑜岿科技

构建“以新能源为主体的新型电力系统”。众所周知&#xff0c;随着新能源大规模接入&#xff0c;电力系统将呈现显著的“双侧随机性”和“双峰双高”的“三双”特征&#xff0c;为保证电力系统安全稳定高效运行&#xff0c;必须加速推进源网荷储一体化和多能互补发展&#xff0…