CSS之弹性盒子Flexible Box

news2024/11/28 18:58:59

我想大家在做布局的时候,没接触flex布局之前,大家都是用浮动来布局的,但现在我们接触了flex布局之后,我只能说:“真香”。让我为大家介绍一下弹性盒子模型吧!
Flexible Box 弹性盒子
在我们使用弹性盒子时,我们需要给父级添加display:flex;
这是没给父级添加display:flex;时的样子:
在这里插入图片描述

这是给父级添加了display:flex;时的样子:
在这里插入图片描述
大家看,这是不是浮动该做的事情呀,我们flex也可以做,而且可以更简单更轻松的完成我们的布局,让我为大家介绍一下吧!
写在父级上常用的属性

一.父级添加

1.display:flex(给父级添加)

不添加这个是开启不了flex布局的,flex的其他方法全部没有效果

        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 400px;
            background-color: orange;
        }
        .father .son {
            font-size: 20px;
            width: 100px;
            height: 100px;
        }

2.flex-direction(给父级添加)

改变主轴方向

属性值描述
row默认值,主轴水平,子元素从左到右排列
row-reverse主轴水平,子元素从右到左排列
column主轴垂直,子元素从上到下排列
column-reverse主轴垂直,子元素从下到上排列

效果图:
row:
在这里插入图片描述
row-reverse:
请添加图片描述

column:
在这里插入图片描述

column-reverse:
在这里插入图片描述

flex-direction代码总结:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>display</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
            flex-direction: row; /* 默认值 */
            /* flex-direction: row-reverse; */
            /* flex-direction: column; */
            /* flex-direction: column-reverse; */
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

3.justify-content(给父级添加)

设置主轴上子元素的对齐方式

属性值描述
flex-start默认值,所有子元素与主轴起始线对齐
center所有子元素与主轴中心线对齐
flex-end所有子元素与主轴终止线对齐
space-around平均分配剩余空间但左右缝隙是中间的一半
space-between先紧贴两边再平分剩余空间
space-evenly平均分配空间

效果图:
flex-start:
在这里插入图片描述
center:
在这里插入图片描述
flex-end:
在这里插入图片描述
space-around:
在这里插入图片描述
space-between:
在这里插入图片描述
space-evenly:
在这里插入图片描述
flex-direction代码总结:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>justify-content</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
           justify-content: flex-start;
           /* justify-content: center; */
           /* justify-content: flex-end; */
           /* justify-content: space-around; */
           /* justify-content: space-between; */
           /* justify-content: space-evenly; */
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

4.flex-wrap(给父级添加)

设置子元素是否换行

属性值描述
nowrap默认值,默认不换行,在一行显示
wrap换行显示,第一行顶在上方
wrap-reverse换行显示,第一行顶在下方

效果图:
nowrap:
在这里插入图片描述

wrap:

在这里插入图片描述
wrap-reverse:
在这里插入图片描述
flex-wrap代码总结:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-wrap</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
            flex-wrap: nowrap;
            /* flex-wrap: wrap; */
            /* flex-wrap: wrap-reverse; */
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 150px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
        .father .son:nth-child(4){
            background-color: hotpink;
        }
        .father .son:nth-child(5){
            background-color: blue;
        }
        .father .son:nth-child(6){
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
        <div class="son">4</div>
        <div class="son">5</div>
        <div class="son">6</div>
    </div>
</body>
</html>

5.align-items(给父级添加)

设置侧轴上的子元素排列方式(单行)
**特别注意:**这是单行的情况下

属性值描述
stretch默认值,如果子级没高度,各行将会伸展以占用剩余的空间
flex-start所有子元素与侧轴起始线对齐
flex-end所有子元素与侧轴中终止线对齐
center所有子元素与侧轴中心线对齐

效果图:
stretch(当没给子级高度时):
在这里插入图片描述
flex-start:
在这里插入图片描述
flex-end:
在这里插入图片描述
center:
在这里插入图片描述
align-items:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>align-items</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
            /* align-items: stretch; */
            align-items: flex-start;
            /* align-items: flex-end; */
            /* align-items: center; */
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 150px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

6.align-content(给父级添加)

设置侧轴上子元素的排列方式(多行)
需要与flex-wrap一起使用
注意:多行的情况下,修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐

属性值描述
stretch默认值,如果子级没高度,各行将会伸展以占用剩余的空间
flex-start所有子元素与侧轴起始线对齐
flex-end所有子元素与侧轴中终止线对齐
center所有子元素与侧轴中心线对齐
space-around平均分配剩余空间但上下缝隙是中间的一半
space-between先紧贴两边再平分剩余空间
space-evenly平均分配空间

效果图:
stretch:
在这里插入图片描述
flex-start:
在这里插入图片描述
flex-end:
在这里插入图片描述
center:
在这里插入图片描述

space-around:
在这里插入图片描述
space-between:
在这里插入图片描述
space-evenly:
在这里插入图片描述
align-content:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>align-content</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
            flex-wrap: wrap;
            /* align-content: stretch; */
            align-content: flex-start;
            /* align-content: flex-end; */
            /* align-content: center; */
            /* align-content: space-around; */
            /* align-content: space-between; */
            /* align-content: space-evenly; */
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 150px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
        .father .son:nth-child(4){
            background-color: hotpink;
        }
        .father .son:nth-child(5){
            background-color: blue;
        }
        .father .son:nth-child(6){
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
        <div class="son">4</div>
        <div class="son">5</div>
        <div class="son">6</div>
    </div>
</body>
</html>

7.flex-flow(给父级添加)

复合属性,把设置主轴方向和是否换行(换列)简写
语法:flex-flow :主轴方向 是否换行;
主轴方向与是否换行请看2与4的介绍

二.子级添加

1.align-self

用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。
注:给子元素设置

属性值描述
auto默认值,计算值为元素的父元素的’align-items’值,如果其没有父元素,则计算值为’stretch’。
flex-start弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界
flex-end弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界
center弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)
stretch在交叉轴方向上拉伸
baseline如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐

效果图:
auto:
在这里插入图片描述
flex-start:
在这里插入图片描述

flex-end:
在这里插入图片描述

center:
在这里插入图片描述

align-self代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-self</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
        }
        .father .son:nth-child(2){
            background-color: red;
            align-self: auto;
            /* align-self: flex-start; */
            /* align-self: flex-end; */
            /* align-self: center; */
            /* align-self: stretch; */
            /* align-self: baseline; */
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

2.order(子级添加)

弹性子元素,排序,用整数值来定义排列顺序,数值小的排在最前面,可以 为负值,属性设置弹性容器内弹性子元素属性

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>order</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
            order: 1;
        }
        .father .son:nth-child(2){
            background-color: red;
            order: 0;
        }
        .father .son:nth-child(3){
            background-color: yellow;
            order: -1;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

3.flex-grow

用来分配剩余空间,需要主轴上有剩余空间

属性值描述
initial默认值与0一样
0不放大也不缩小
number正数
flex-grow每一份都为1时:

在这里插入图片描述
但第一个元素为1,第二个为2,第三个为3时:
在这里插入图片描述
flex-grow代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-grow</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
            flex-grow: 1;
        }
        .father .son:nth-child(2){
            background-color: red;
            flex-grow: 2;
        }
        .father .son:nth-child(3){
            background-color: yellow;
            flex-grow: 3;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

4.flex-base

会覆盖之前的width宽度,但该属性会被项目的min-width/min-height值覆盖
会自动计算主轴是否有多余空间

属性值描述
auto默认值,不发生改变
%百分比
像素px

我们给son1设置flex-base,如果3个元素的总宽度超出了父级,son1还会继续变宽吗?
在这里插入图片描述
会继续变宽,这是伸缩盒模型的缩,当我们宽度超出父级的时候,会缩回,让他们的宽度总和为600px
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-base</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
            flex-basis: 800px;
        }
        .father .son:nth-child(2){
            background-color: red;
        }
        .father .son:nth-child(3){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

6.flex-shrink

flex-shrink 主要处理当 flex 容器空间不足时候,单个元素的收缩比例,当超出父级宽度时,每个子元素原本宽度减去按比例分配的值,其剩余值为实际宽度
当前子元素宽度超出了主轴空间多少: 子元素的总宽度 - 父级的宽度 = 需要消化的宽度
子元素子元素的收缩因子之和: n
每一份就是: 需要消化的宽度/n = f
每一个项目: 子元素的宽度- shrink的份数 * f = 缩放的宽度

在这里插入图片描述
flex-shrink代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex-base</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
            width: 420px;
            flex-shrink: 1;
        }
        .father .son:nth-child(2){
            background-color: red;
            flex-shrink: 1;
        }
        .father .son:nth-child(3){
            background-color: yellow;
            flex-shrink: 1;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

7.flex

项目缩放的简写,可以简写flex-grow flex-base flex-shrink
语法: flex: flex-grow flex-shrink flex-basis
推荐使用flex方法
常用:flex:1;对应flex: 1 1 auto
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>flex</title>
    <style>
        .father {
            /* 给父级宽高,开启弹性盒子布局 */
            display: flex;
            width: 600px;
            height: 300px;
            background-color: orange;
        }
        .father .son {
            text-align: center;
            line-height: 100px;
            font-size: 30px;
            width: 100px;
            height: 100px;
        }
        .father .son:nth-child(1){
            background-color: pink;
            flex: 1;
        }
        .father .son:nth-child(2){
            background-color: red;
            flex: 1;
        }
        .father .son:nth-child(3){
            background-color: yellow;
            flex: 1;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
    </div>
</body>
</html>

感谢大家阅读,如有不对的地方,可以向我提出,感谢大家!

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

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

相关文章

泛型你掌握多少?包装类你深入了解过吗?快进来看看吧~

目录 1、泛型是什么——引出泛型 2、泛型的使用 2.1、语法 2.2泛型类的使用 2.3、裸类型 3、泛型如何编译 3.1、擦除机制 3.2、为什么不能实例化泛型类型数组 4、泛型的上界 5、泛型方法 5.1、语法 5.2、举例 6、通配符 6.1、什么是通配符 6.2、统配符解决了什么…

2017年五一杯数学建模C题宜居城市问题值解题全过程文档及程序

2017年五一杯数学建模 C题 宜居城市问题 原题再现 城市宜居性是当前城市科学研究领域的热点议题之一&#xff0c;也是政府和城市居民密切关注的焦点。建设宜居城市已成为现阶段我国城市发展的重要目标,对提升城市居民生活质量、完善城市功能和提高城市运行效率具有重要意义。…

正则表达式回溯陷阱

一、匹配场景 判断一个句子是不是正规英文句子 text "I am a student" 一个正常的英文句子如上&#xff0c;英文单词 空格隔开 英文单词 多个英文字符 [a-zA-Z] 空格用 \s 表示 那么一个句子就是单词 空格&#xff08;一个或者多个&#xff0c;最后那个单词…

An example of a function uniformly continuous on R but not Lipschitz continuous

See https://math.stackexchange.com/questions/69457/an-example-of-a-function-uniformly-continuous-on-mathbbr-but-not-lipschitz?noredirect1

十七、事件组

1、事件组是什么 1.1、举例说明 (1)学校组织秋游&#xff0c;组长在等待&#xff1a; 张三&#xff1a;我到了李四&#xff1a;我到了王五&#xff1a;我到了组长说&#xff1a;好&#xff0c;大家都到齐了&#xff0c;出发&#xff01; (2)秋游回来第二天就要提交一篇心得…

leetcode刷题详解五

117. 填充每个节点的下一个右侧节点指针 II 关键点&#xff1a;先递归右子树 画一下就知道了&#xff0c;画一个四层的二叉树&#xff0c;然后右子树多画几个节点就知道为啥了 Node* connect(Node* root) {if(!root || (!root->left && !root->right)){return ro…

针对操作系统漏洞的反馈方法

一、针对操作系统漏洞的反馈方法 漏洞扫描指基于漏洞数据库&#xff0c;通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测&#xff0c;发现可利用漏洞的一种安全检测&#xff08;渗透攻击&#xff09;行为。在进行漏洞扫描后&#xff0c;需先确定哪些是业务…

二叉树:leetcode1457. 二叉树中的伪回文路径

给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的数目。 给定二叉树的节点数目…

SSD FTL 映射管理

映射的种类 根据映射粒度的不同分为如下几种 1.块映射 一个逻辑块&#xff08;logical block&#xff09;映射到一个闪存物理块(physical block) 优点是&#xff1a;映射表需要空间小&#xff0c;对大Block size顺序读写&#xff0c;但是对小尺寸数据的写入性能很差。因为即使…

基于改进莱维飞行和混沌映射粒子群优化算法(LPSO)-BP神经网络的时间序列预测模型

基于改进莱维飞行和混沌映射粒子群优化算法(LPSO)原理&#xff1a; 通过引入混沌映射机制&#xff0c;对其群体进行初始化&#xff0c;增加粒子群个体的多样性&#xff1b;然后在粒子群个体的位置更新公式上引入改进的莱维飞行机制&#xff0c;提高搜索精度&#xff0c;帮助粒…

重庆数字孪生技术推进制造业升级,工业物联网可视化应用加速

重庆数字孪生、5G、人工智能、物联网、大数据等新一代信息技术的出现及终端计算设备的发展&#xff0c;带来了研发模式、生产模式、消费模式、体制机制的系统性变革&#xff0c;企业应该建设适应工业4.0时代发展要求的新型生产体系。巨蟹数科数字孪生智能工厂通过部署多样化用例…

Java EE 进程线程

JavaEE 进程&线程 文章目录 JavaEE 进程&线程1. 进程1.1 概念1.2 进程管理1.3 PCB (Process Control Block) 2. 线程2.1 概念2.1 线程与进程的区别2.3 创建线程 1. 进程 1.1 概念 什么是进程&#xff1f; 进程是操作系统对一个正在执行的程序的一种抽象 我们可以打开…

Android 相机库CameraView源码解析 (二) : 拍照

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…

2006-2023年2月地级市城投债数据

2006-2023年2月地级市城投债数据 1、时间&#xff1a;2006-2023年2月 2、指标&#xff1a;省份、城市、证券代码、证券简称、债券简称、证券全称、债券初始面值单位元、债券最新面值交易日期20221231、发行总额单位亿元、债券余额日期20221231单位亿、起息日期、计息截止日、…

2018年10月9日 Go生态洞察:Go Cloud的Wire与编译时依赖注入

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

火柴棒等式

枚举 只要在保证等式正确的基础上判断火柴棒有没有用完就可以 因为数比较小&#xff0c;而且我不知道最大的等式中的数是多少&#xff0c;索性就设置为999了 还好对效率要求不大&#xff08;doge&#xff09; 要不然就得自己慢慢改最大数来试了 代码如下&#xff1a; #in…

树套树 (线段树+splay)

树套树&#xff0c;就是线段树、平衡树、树状数组等数据结构的嵌套。 最简单的是线段树套set&#xff0c;可以解决一些比较简单的问题&#xff0c;而且代码根线段树是一样的只是一些细节不太一样。 本题中用的是线段树套splay&#xff0c;代码较长。 树套树中的splay和单一的…

基于springboot实现农机电招平台系统项目【项目源码+论文说明】

基于springboot实现农机电招平台系统演示 摘要 随着农机电招行业的不断发展&#xff0c;农机电招在现实生活中的使用和普及&#xff0c;农机电招行业成为近年内出现的一个新行业&#xff0c;并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算…

C++ day37 贪心算法 单调递增的数字 监控二叉树

题目1&#xff1a;738 单调递增的数字 题目链接&#xff1a;单调递增的数字 对题目的理解 返回小于或等于n的最大数字&#xff0c;且数字是单调递增&#xff08;单调递增数字的定义&#xff1a;每个相邻位上的数字满足x<y&#xff09; 贪心算法 注意本题的遍历顺序是从…

写 SVG 动画必看!SVG系列文章1-简介

1、SVG是什么 SVG 是一种 XML 语言&#xff0c;类似 XHTML&#xff0c;可以用来绘制矢量图形&#xff0c;例如下面展示的图形。SVG 可以通过定义必要的线和形状来创建一个图形&#xff0c;也可以修改已有的位图&#xff0c;或者将这两种方式结合起来创建图形。图形和其组成部分…