前端布局 Flex(弹性)布局

1. flex布局优点

  • 操作方便,布局极为简单,移动端应用很广泛

  • pc端浏览器支持情况较差

  • IE11或者更低版本,不支持或仅部分支持

2. flex布局原理

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

  • 当我们父盒子设定为flex布局以后,子元素的float、char和vertical-align属性将失效

  • 伸缩布局=弹性布局=伸缩盒布局=弹性盒子布局=flex布局

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

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

flex布局父项常见属性

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

  • flex-direction: 设置主轴的方向

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

  • flex-wrap: 设置子元素是否换行啊

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

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

  • flex-flow: 复合属性,相当于同时设置了flex-direction和flex-wrap

    3.1   flex-direction设置主轴的方向(即项目的排列方向)

  • 主轴与侧轴

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

    默认主轴:水平向右,侧轴,垂直向下

  2. 属性值

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

属性值说明
row默认值从左向右
row-reverse从右向左
column从上到下
column-reverse从下到上

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

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

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

属性说明
flex-start默认从头部开始,如果主轴是x轴,则从左到右
flex-end从尾部开始排列
center在主轴居中对齐(如果主轴是x轴则水平居中)
space-around平分剩余空间
space-between先两边贴边再平分剩余空间(重要)

 

3.3  flex-wrap设置子元素是否换行

默认情况下,项目都排在一条线上(即flex布局中,默认的子元素是不换行的,如果装不开,会缩小子元素的宽度,放到父元素里面)

属性值说明
nowrap默认值,不换行
warp换行

flex-wrap:nowrap;

flex-wrap: wrap;

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

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

属性值说明
flex-start默认值,从上到下
flex-end从下到上
center拼在一起居中(垂直居中)
stretch拉伸

align-items: flex-start;

align-items: flex-end;

 align-items: center;

如果想在主轴和侧轴都水平居中

justify-content:center ;
align-items: center;

 align-items: stretch ;(去掉子元素高度后)

 

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

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

属性值说明
flex-start默认值在侧轴的头部开始排列
flex-end在侧轴的尾部开始排列
center在侧轴中间显示
space-around子项在侧轴平分剩余空间
space-between子项在侧轴先分布在两头,再平分剩余空间
stretch

设置子项元素高度平分父元素高度

 flex-wrap: wrap;align-content: flex-start;

flex-wrap: wrap;
align-content: flex-end;

 

 flex-wrap: wrap;align-content: space-around;

 

  flex-wrap: wrap;align-content: space-between;

 

 注意: align-content: space-around和space-content: between的区别

3.6  align-content和align-items区别

  • align-items适用于单行情况,只有上对齐,下对齐,居中和拉伸

  • align-content适用于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值

  • 总结就是单行找align-items多行找align-content

3.7 flex-flow

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

flex-flow: row wrap;

4. flex布局项常见属性(对子元素进行设计)

原:

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

.item {flex: <number>;   /* default 0 */
}
  section div:nth-child(2) {width: 100px;height:150px;background-color: rgb(0, 128, 13);flex: 1;

section div {flex: 1;}section div:nth-child(1) {background-color: purple;color: #fff;flex: 2;} 

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

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性,默认值为auto,表示继承父元素align-items属性,如果没有父元素,则等同于stretch

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

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

项目的默认值从0开始,数值越小,则可以排得更靠前,可以设置为负数。

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

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

相关文章

Java BorderLayout(边框布局)布局管理器

BorderLayout BorderLayout 将容器分为 EAST 、 SOUTH 、 WEST 、 NORTH 、 CENTER五个区域&#xff0c;普通组件可以被放置在这 5 个区域的任意一个中 。 BorderLayout布局 管理器的布局示意图如图所示 。 当改变使用 BorderLayout 的容器大小时&#xff0c; NORTH 、 SOUTH …

java:布局方法(网格布局)

网格布局 一、简单说明二、关键代码三、流程图四、例子说明1. 有17个“按钮”排列&#xff08;1&#xff09;源码A&#xff08;2&#xff09;运行效果 2. 有36个“按钮”排列&#xff08;1&#xff09;源码B&#xff08;2&#xff09;源码B运行效果 3. 有12个“按钮”排列&…

Grid布局介绍

1、什么是Grid布局 ​     Grid布局即网格布局&#xff0c;是一种新的css模型&#xff0c;一般是将一个页面划分成几个主要的区域&#xff0c;定义这些区域的大小、位置和层次等关系&#xff0c;是目前唯一一种css二维布局。 2、和flex布局的区别 ​     Grid布局和fle…

Java GridLayout(网格布局)布局管理器

GridLayout&#xff08;网格布局&#xff09; ​ GridLayout 布局管理器将容器分割成纵横线分隔的网格 &#xff0c; 每个网格所占的区域大小相同。当向使用 GridLayout 布局管理器的容器中添加组件时&#xff0c; 默认从左向右、 从上向下依次添加到每个网格中 。 与 FlowLay…

css经典布局——圣杯布局

圣杯布局和双飞翼布局一直是前端面试的高频考点&#xff0c;圣杯布局的出现是来自由 Matthew Levine 在 2006 年写的一篇文章 《In Search of the Holy Grail》。 比起双飞翼布局&#xff0c;它的起源不是源于对页面的形象表达。在西方&#xff0c;圣杯是表达“渴求之物”的意思…

CSS响应式布局(自适应布局)

CSS 响应式布局也称自适应布局&#xff0c;是 Ethan Marcotte 在 2010 年 5 月份提出的一个概念&#xff0c;简单来讲就是一个网站能够兼容多个不同的终端&#xff08;设备&#xff09;&#xff0c;而不是为每个终端做一个特定的版本。这个概念是为解决移动端浏览网页而诞生的。…

flex布局(详解)

目录 前言 一、何为Flex布局 二、基本概念 三、容器的属性 3.1 flex-direction属性 3.2 flex-wrap属性 3.3 flex-flow 3.4 justify-content属性 3.5 align-items属性 3.6 align-content属性 四、项目的属性 4.1 order属性 4.2 flex-grow属性 4.3 flex-shrink属性 …

Redis各类数据结构应用场景总结

Redis各类数据结构应用场景总结 引言String应用场景 List应用场景 Hash应用场景 Set应用场景 ZSet应用场景 小结 引言 实际面试过程中更多看重的是对Redis相关数据结构的活学活用&#xff0c;同时也可能会引申出Redis相关底层数据结构原理的实现&#xff0c;笔者最近面试过程中…

CSS基本布局——grid布局

grid布局简介&#xff1a; Grid布局是将容器划分成“行”和“列”&#xff0c;产生单元格&#xff0c;然后指定“项目所在”的单元格&#xff0c;可以看作是二维布局。 基本概念&#xff1a; 容器&#xff08;container&#xff09;——有容器属性项目&#xff08;items&…

【CSS布局】—— flex(弹性)布局

赶快悄悄的努力起来吧&#xff0c;不苒在这里衷心祝愿各位大佬都能顺利通过面试。 面试专栏分享&#xff0c;感觉有用的小伙伴可以点个订阅&#xff0c;不定时更新相关面试题&#xff1a;面试专栏 。 文章目录 &#x1f33c;前言&#x1f33b;正文1、弹性盒子模型是什么&#x…

火列星屯--最强大的CSS布局方案

一、总论 首先给出结论&#xff1a;网格布局&#xff08;Grid&#xff09;是最强大的 CSS 布局方案。 虽说如此&#xff0c;但是仍要重视具体的应用场景&#xff0c;如果有其他写法可以提高代码的简洁和可读性&#xff0c;未必非要选择Gird不可。 网格布局就如同它的字面意思…

常见的布局方式

1.弹性布局---flex布局 弹性布局是一种常见且好用的布局方式&#xff0c;它可以让结构中的内容自适应不同的分辨率&#xff0c;简化的代码的书写。 使用方法 给父盒子加上display:flex;默认子元素不换行&#xff0c;如果装不开&#xff0c;子元素会缩小元素的宽度。 父级元…

前端开发常见的几种布局方式

作为前端开发工程师&#xff0c;布局方式有多种&#xff0c;对于不同的场景可以使用不同的布局方式&#xff0c;那么我们就先来简单的来了解一下&#xff0c;那些前端开发必须了解的布局。 一. 静态布局&#xff08;static layout&#xff09; 即传统的Web布局&#xff0c;网页…

android系统启动流程之zygote(Native)启动分析

zygote有一部分运行在native,有一部分运行在java层&#xff0c;它是第一个进入java层的进程 zygote在启动时&#xff0c;在init.${ro.zygote}.rc脚本中&#xff0c;里面描述了zygote是如何被启动的&#xff0c; 当init进程解析到zygote.rc文件时&#xff0c;将根据解析出来的命…

No117.精选前端面试题,享受每天的挑战和学习

文章目录 断点续传怎么做的秒传怎么实现var let const 块级作用域ts Partial Omit 怎么实现的箭头函数有哪些限制箭头函数为什么不能作为构造函数promise常用apiMap和Object的区别vue怎么实现双向绑定 断点续传怎么做的 断点续传是指在文件下载或上传过程中&#xff0c;当连接…

【微信小程序遇到的坑】实现跨行跨列的表格

由于微信小程序组件中不带table标签&#xff0c;所以只能自己制作一个table表格&#xff0c;并且是实现跨行跨列的复杂表格。 直接上代码&#xff0c;即可预览效果 wxml <view class"table"><view class"tr tr_title">上午8:30-11:45</vi…

50.服务程序SERVICE_STATUS、SERVICE_STATUS_HANDLE、RegisterServiceCtrlHandler、SetServiceStatus、SERVICE_TABL

我得先总结一下步骤&#xff1a; 一、在main函数中的操作 1.先创建一个main主函数&#xff0c;在main主函数中创建创建一个服务程序入口函数列的结构体并将其初始化 机构体SERVICE_TABLE_ENTRY DispatchTable[2]; 假设定义的服务入口函数是(LPSERVICE_MAIN_FUNCTION)ServiceMa…

使用 SAP WebIDE 将 SAP UI5 应用部署到 ABAP 系统时遇到的关于传输请求的错误

有朋友遇到一个在 webide 里部署 SAP UI5 应用到 ABAP Repository 里时出错的问题&#xff1a; 错误消息&#xff1a; Failed to get transports for the selected package. Request POST /webidedispatcher/destinations/LND500/sap/bc/adt/cts/transportchecks failed: Forbi…

【操作记录】CLion 中引入 Gurobi 并使用 C++ 编程

文章目录 一、前言二、具体操作2.1 创建项目2.2 修改编译工具2.3 修改 CMakeLists.txt2.4 修改 main.cpp2.5 运行测试 一、前言 虽然C编程大部分人都会选择使用VS&#xff0c;但是作为 IDEA 的长期用户&#xff0c;我还是比较习惯 JetBrains 风格的编译器&#xff0c;所以就选…

7.11英语学习及笔记

《花木兰》 Based on a Chinese legend, the film follows the story of the titular hero – a young woman who poses as a man in order to take her ailing father’s place in the Imperial army, after the threat of the invading Huns requires a man from every house…