首页 > 其他分享 >Flex布局

Flex布局

时间:2023-07-07 16:11:07浏览次数:28  
标签:容器 元素 Flex 布局 flex wrap 属性

引言:关于前端布局,我学习了Pink老师的Flex。以下是我自己做的一些简单笔记。

一个小套路

凡使用Flex布局,我们都会在其父元素设置display:flex;
那么就有人问了,这句代码的意义何在?别急,看下面GPT怎么回答!

display:flex是一种CSS属性,用于定义一个容器元素以及其子元素的布局方式。它引入了一种新的布局模型,称为Flexbox,旨在简化和改善页面的布局。
display:flex的意义在于:
弹性布局:Flexbox模型是一种基于弹性的布局方式,它使得容器元素中的子元素可以根据可用空间自动调整大小和位置。这意味着你可以轻松地创建自适应和响应式的布局,而不需要使用复杂的计算或定位技巧。
简洁的布局语法:Flexbox提供了一组简单而强大的属性,用于控制容器元素和子元素的布局行为。你可以使用这些属性来定义子元素的排列方向、对齐方式、间距以及比例分配等。这种声明式的布局语法使得代码更加清晰明了,减少了大量繁琐的计算和调整。
灵活的布局控制:Flexbox允许你灵活地控制容器中的子元素的尺寸和位置。你可以通过调整子元素的宽度、高度、缩放比例和空间分配权重等属性来实现各种布局效果,包括居中对齐、均匀分布和对齐方式的改变等。
解决多列布局的问题:在传统的CSS布局中,实现多列布局往往需要使用浮动或定位等技巧,并且容易出现一些问题,如不均匀高度、不灵活的调整和复杂的代码结构等。而Flexbox提供了更简单和强大的方式来实现多列布局,可以轻松地实现等高列、自适应宽度和动态排序等功能。
总的来说,使用display:flex可以带来更简便、灵活和强大的布局能力,使得页面布局更加直观和易于管理。它已经得到了广泛的支持,成为现代Web开发中常用的布局方式之一。
那么标注的部分,也就是他的特点!

小知识

在Flex中有两个名词,主轴和侧轴,其实默认主轴即“X轴”,侧轴即“Y轴”。如下图所示:

当然,我们也可以切换主轴和侧轴。

具体内容

justify-content

描述

使用该属性要确定好主轴
其中他的属性值包括以下几个:

  • flex-start:默认值 从头部开始,若主轴是x轴则从左到右
  • flex-end:从尾部开始排列
  • center:在主轴居中对齐
  • space-around:平分剩下空间
  • space-between:两侧贴边,平分剩余空间

注意:以上属性均在父元素设置,效果会在父元素里面的布局体现

flex-wrap

描述

因为flex只能操作一行或一列,并不会出现换行效果,那么我们使用该属性,可以控制是否换行。

  • wrap:换行
  • nowrap:不换行

以上暂介绍这两个属性。

align-items

描述

若是单行/列侧轴,我们可以使用该属性

  • stretch :默认值。元素被拉伸以适应容器。
    如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

  • center :元素位于容器的中心。
    弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。

  • flex-start :元素位于容器的开头。
    弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。

  • flex-end :元素位于容器的结尾。
    弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。

  • baseline :元素位于容器的基线上。
    如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。

align-content

描述

操作于多行/列排列,使用该属性

  • 和align-items大差不差,多了两个属性

  • space-between
    元素位于各行之间留有空白的容器内。

  • space-around
    元素位于各行之前、之间、之后都留有空白的容器内。

flex-flow

描述

flex-flow 属性是 flex-direction 和 flex-wrap 属性的复合属性。
flex-flow 属性用于设置或检索弹性盒模型对象的子元素排列方式。
flex-direction 属性规定灵活项目的方向。
flex-wrap 属性规定灵活项目是否拆行或拆列。

操作语法

flex-flow: flex-direction flex-wrap|initial|inherit;

标签:容器,元素,Flex,布局,flex,wrap,属性
From: https://www.cnblogs.com/Z-Dragon/p/17535271.html

相关文章

  • 程序的内存布局
    程序在内存空间上的布局如下图:代码段(.text):这里存放的是CPU要执行的指令,代码是可共享的,相同的代码在内存中只有一份拷贝,同时这个段是只读的,防止程序误修改指令。初始化数据段(.data):这里存放是是程序中需要明确赋初始值的变量,例如全局变量。代码段和初始化数据段都位于程序......
  • 05 三种布局管理器
    1.流式布局(默认)FlowlayoutpackageGUI;importjava.awt.*;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;//三种布局publicclassTest05_FlowLayout{publicstaticvoidmain(String[]args){//流式布局Framefra......
  • Flex布局常用属性详解
    1.Flex布局与响应式布局1.1为什么需要响应式布局?在电脑PC端,使用浮动,定位同时使用像素px单位就可以完成大部分布局,而且布局完之后不会有大问题,但是到了移动端,移动设备的屏幕尺寸多种多样,从小屏幕的智能手机到大屏幕的平板电脑,甚至是可穿戴设备,简单地运用和PC端一样的方式就会出......
  • flex垂直居中当界面空间不足时显示不全
    代码示例如下<divid="a"style="display:flex;justify-content:center;align-items:center;width:200px;height:100%;background:skyblue"><divid="b"style="height:400px;background:pink;width:100px">&l......
  • wpf基本布局控件 -- 01
    <Windowx:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.c......
  • 新增接口&页面布局
    1.新增1.1.新增接口1.2.观察前端页面我们需要在前端弄一个增加的对话框给新增的按钮绑定openEditUI方法效果(感觉右边太窄了)其他:......
  • CSS|Flex布局
    演示动图来源:GitHub一.什么是flex布局是一种专门的CSS一维(水平/垂直)布局方案位置(定性)大小(定量)怎么研究位置和大小借助坐标系(平面直角坐标系)水平轴:主轴垂直轴:交叉轴二.区分flex容器和flex项目1)什么是flex容器启用flex布局方案的元素2)如何......
  • Flex布局常用属性详解
    1.Flex布局与响应式布局1.1为什么需要响应式布局?在电脑PC端,使用浮动,定位同时使用像素px单位就可以完成大部分布局,而且布局完之后不会有大问题,但是到了移动端,移动设备的屏幕尺寸多种多样,从小屏幕的智能手机到大屏幕的平板电脑,甚至是可穿戴设备,简单地运用和PC端一样的方式就会出......
  • css文本&布局属性
    1.writing-mode(协作模式):块内容(段落)在页面的流程方式  horizontal-tb(默认):水平内容,从上到下  vertical-lr:垂直内容,从左到右  vertical-rl:垂直内容,从右到左2.direction(方向):内联内容(字符)如何在屏幕上流动  ltr(默认):从左到右  rtl:右到左3.flex(弹性盒子)-物理属......
  • 用户管理页面布局
    1.观察前端项目写一个用户管理页面,做查询系统,新增2.查询部分2.1.打开Element官网,查看相关的组件2.2.在user.vue文件中删除“用户管理”,放一个卡片样式进去2.3.两端间距,改大一些,修改section.app-main2.4.搜索栏缩短,加上搜索图标和新增图标2.5.将新增按钮放......