百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

web前端开发中flex弹性布局基础知识最全整理!

yuyutoo 2024-10-25 19:19 14 浏览 0 评论

欢迎关注!

flex弹性容器和弹性元素

通过设置元素的display属性值为flex,就可以将该元素设置为弹性容器(flex container),该元素的在文档流中的子元素自动成为弹性容器中的成员,成为弹性项目(flex item)。

弹性容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。弹性项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

flex方向

flex方向主要有四个相关属性

flex-direction用于设置弹性项目的排列方向。取值为row时项目自左向右排列,取值为row-reverse时项目自右向左排列,取值为column项目自上向下排列,取值为column-reverse时项目自下向上排列。

flex-wrap用于设置弹性项目的换行显示方式。取值为no-wrap时默认为不换行显示,取值为wrap时项目自动向下或向右换行显示,取值为wrap-reverse时项目自动向上或向左换行显示。

flex-flow为flex-wrap与flex-direction的简写方式。

order用于设置弹性项目在容器中的显示位置,取值为整数,默认值为0,order值大的弹性项目自动向后排列。

flex弹性

flex弹性主要有四个相关属性

flex-basis用于设置弹性项目的初始宽或高(并作为弹性的基础)。flex-direction取值为row时设置宽,取值为column则设置高。语法为flex-basis:main-size\<width>。

flex-grow用于设置弹性项目可用剩余空间的比例,也称伸展因子,是flex弹性布局中最重要的元素之一。弹性容器(flex-container)先按照flex-basis中设定的宽度进行布局,如果有剩余空间,再按照flex-grow中设定的比例进行分配。

flex-shrink用于将弹性项目超出容器的部分按照比例在已有容器空间中进行缩减。

flex为以上三个属性的合写属性,即可以在flex中同时设置以上三个值。语法为flex:<'flex-grow'>||<'flex-shrink'>||<'flex-basis'>,默认值为:0 1 main-size;即不分配剩余空间,按比例同时缩小弹性项目以适应容器,弹性项目宽度或高度为所占据的主轴空间。

flex对齐

flex对齐主要有四个相关属性

justify-content用于设置主轴(main-axis)上的对齐方式。弹性元素依据主轴定位,所以不能使用left与righ,因为位置是相对的。(相似属性为text-align)。justify-content默认取值为flex-start,表示左对齐或上对齐;取值为flex-end表示右对齐或下对齐;取值为center在主轴上居中对齐;取值为space-between表示两端对齐;取值为space-around表示每个项目两侧的间隔相等,项目之间的间距是项目与边框的间距的2倍。

align-items用于设置辅轴(cross-axis)上的对齐方式。(相似属性为vertical-align),align-items取值为flex-start,表示左对齐或上对齐;取值为flex-end表示右对齐或下对齐;取值为center在辅轴上居中对齐;取值为baseline表示与项目的第一行文字的基线对齐;取值为stretch(默认值)表示如果项目未设置高度或设为auto,将占满整个容器的高度。

align-self用于设置单个弹性项目(flex-item)在辅轴(cross-axis)上的对齐方式,justify-content和align-items都是设置弹性容器中整体弹性项目的对齐方式,而align-self针对的是单个弹性项目。

align-content用于设置定义了多根轴线的对齐方式。比如在使用到换行时,多行的对齐方式。取值和含义与justify-content和align-items相同,只是无法取到align-items中的baseline值。

收藏转发请先关注,谢谢支持!

相关推荐

网络规划建设原来也可以这么简单!

废话少说,直接上干货。天气炎热,请各位看官老爷静心阅读。整体思路下图是关于网络建设的所有相关领域,接下来我为大家逐一讲解。网络分层...

网络规划设计师笔记-第 1 章 计算机网络原理

计算机网络原理1.1计算机网络概论(P1-10)...

别输在远见上,网工这样做职业规划,比啥都强

01职业中的规划,人生中的buff“职业规划“这个词,其实对很多年轻人,包括曾经年轻的我来说,都不屑一提。...

网络规划设计师学习中(个人自学笔记分享1),有一起学习的吗?

网络规划设计师,上午考试内容学习:第一章:计算机网络概述(上部分):如果你也在一起学习,那么我们来一起学习吧!坚持1年,争取明年一次性通过!...

在微服务中使用 ASP.NET Core 实现事件溯源和 CQRS

概述:事件溯源和命令查询责任分离(CQRS)已成为解决微服务设计的复杂性的强大架构模式。基本CQRS表示形式在本文中,我们将探讨ASP.NETCore如何使你能够将事件溯源和CQRS...

一个基于ASP.NET Core完全开源的CMS 解决方案

...

用 Nginx 部署 ASP.NET Core 应用程序

用Nginx部署ASP.NETCore应用程序步骤如下:在Linux中安装.NETCore运行时和Nginx:...

Asp.net Core启动流程讲解(一)(asp.net core 入门)

asp.netcore默认项目包括项目根目录级的Startup.cs、Program.cs、appsettings.json(appsettings.Development.json)launch...

十天学会ASP之第五天(十天学会asp教程)

学习目的:学会数据库的基本操作1(写入记录)数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录。今天我们先学习写入记录。先建立一个表单:<formname="form1"met...

ASP.NET Core 的 WebApplication 类

ASP.NETCore提供了3个主机类(Host)。这些类用于配置应用、管理生命周期和启动Web服务。...

ASP.NET Core中的键控依赖注入(.net依赖注入原理)

大家好,我是深山踏红叶,今天我们来聊一聊ASP.NETCore中的FromKeyedServices,它是在.Net8中引入的。这一特性允许通过键(如字符串或枚举)来注册和检索依赖注入(D...

Asp.net常用方法及request和response-a

asp.net教程asp.net常用方法:1、Request.UrlReferrer请求的来源,可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链,可以伪造(比如迅雷)。(使用全局一般处理...

ASP.NET Core EFCore 属性配置与DbContext 详解

...

asp.net常考面试题(aspnet题库)

asp.net常考面试题一,列举ASP.Net页面之间传递值的几种方式?1,使用QueryString,如:......?id=1;response.Redirect()......2,使用Sessi...

在Windows系统搭建.NET Core环境并创建运行ASP.NET网站

微软于6月27日在红帽DevNation峰会上正式发布了.NETCore1.0、ASP.NET1.0和EntityFrameworkCore1.0,其将全部支持Windows、OSX和...

取消回复欢迎 发表评论: