CSS3弹性盒布局详解

CSS3的弹性盒布局

简介

弹性盒( Flexible Box 或 Flexbox) 布局是CSS3提供的一种新的布局模式,是一种当页面需要适应不同的屏幕大小及设备类型时,确保元素拥有恰当行为的一种布局方式。

弹性盒的结构:
在这里插入图片描述

从图中所知,弹性盒由弹性容器弹性子元素构成,在默认情况下,弹性子元素的排布方向与竖轴的方向时一致的。

每个弹性容器都有两根轴–主轴和交叉轴,两轴之间互相垂直。每根轴都有起点和终点,这对于元素的对齐非常重要。弹性容器中的所有元素称为弹性元素弹性子元素,弹性子元素永远沿主轴排列

弹性子元素也可以通过"display:flex;" 属性设置成另一个弹性容器,形成嵌套关系。因此一个元素既可以是弹性容器,也可以是弹性子元素。

定义弹性容器

概念:对于某个元素,只要声明了display属性,那么这个元素就成为弹性容器,具有弹性盒布局的特性。弹性容器内可以包含一个或多个弹性子元素。

语法:

display:flex|inline-flex;

属性值

属性值说明
flex表示将目标元素设置为弹性容器
inline-flex表示将目标元素设置为行内元素

注意:如果弹性容器及弹性子元素内是正常渲染的。弹性盒只定义了弹性子元素如何在弹性容器内布局

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>弹性盒子</title>
		<style type="text/css">
			.flex-container{
				width:450px;
				height:150px;
				border:1px solid blue;
				/* 将该元素改为弹性容器 */
				display:flex;
			}
			.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:10px;
				text-align:center;
				background-color:orange;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

说明:在父元素div的CSS样式中,使用“display:flex;”,定义该div为弹性容器,3个div弹性子容器按照默认的方式从左到右排列

弹性容器的属性

排列方向:flex-direction属性

概念:flex-direction 属性指定了弹性子元素在弹性父容器中的位置。在弹性父容器上可以通过 flex-direction属性修改主轴的方向。因为弹性子元素永远沿主轴排列。如果主轴方向改变了,那么交叉轴就会相应地旋转90度,弹性子元素的排列方式也会发生改变。

语法:

flex-direction:row|row-reverse|column|column-reverse;

属性值

flex-direction属性取值的具体说明

属性值说明
row默认值,弹性子元素按水平方向顺序排列
row-reverse弹性子元素按水平方向逆序排列。表现和row相同,但是置换了主轴起点和主轴终点
column弹性子元素按垂直方向顺序排列
column-reverse弹性子元素按垂直方向逆序排列,表现和column相同,但是置换了主轴起点和主轴终点

注意:值 row 和 row-reverse 受 flex 容器的方向性的影响。如果它的 dir 属性是 ltr(left to right的缩写),row 表示从左到右定向的水平轴,而 row-reverse 表示从右到左; 如果 dir 属性是 rtl(right to left的缩写),row 表示从右到左定向的轴,而 row-reverse 表示从左到右。

实例:flex-direction的属性值为row-reverse时

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex-direction</title>
		<style type="text/css">
			.flex-container{
				width:450px;
				height:150px;
				border:1px solid blue;
				display:flex;
				flex-direction:row-reverse;
			}
			.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:10px;
				text-align:center;
				background-color:orange;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

实例:flex-direction的属性值为column时

除了flex-direction属性改变,其他属性跟上一实例相同

	flex-direction:column;

实例:flex-direction的属性值为column-reverse

.flex-container{
				width:450px;
				height:500px;
				border:1px solid blue;
				display:flex;
				flex-direction:column-reverse;
			}
.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:10px;
				text-align:center;
				background-color:orange;
			}

运行结果

在这里插入图片描述

多行显示:flex-wrap属性

概念:flex-wrap属性用于指定弹性子元素是单行显示还是多行显示

语法:

flex-wrap:nowrap|wrap|wrap-reverse;

属性值

flex-wrap属性取值的具体说明

属性值说明
nowrap默认值,定义弹性容器为单行,该情况下弹性子元素可能会溢出容器
wrap定义弹性容器为多行显示,弹性子元素溢出的部分会被放置到新行,也就是换行显示
wrap-reverse定义为多行显示,但却是在wrap属性值的原有基础上反转弹性子元素的排列

实例:当flex-wrap的属性值为wrap时

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex-wrap属性</title>
    <style>
    .flex-container{
        width:700px;
        height:300px;
		border:1px solid blue;
        display:flex;
        flex-wrap:wrap;
    }
    .flex-item{
        width:90px;
        height:90px;
		line-height:90px;
        margin:10px;
        font-size:20px;
        text-align:center;
        background-color:orange;
    }
    </style>
</head>
<body>
    <div class="flex-container">
        <div class="flex-item">1</div>
        <div class="flex-item">2</div>
        <div class="flex-item">3</div>
        <div class="flex-item">4</div>
        <div class="flex-item">5</div>
        <div class="flex-item">6</div>
        <div class="flex-item">7</div>
        <div class="flex-item">8</div>
		<div class="flex-item">9</div>
		<div class="flex-item">10</div>
		<div class="flex-item">11</div>
    </div>
</body>
</html>

运行结果:
在这里插入图片描述

实战:flex-wrap的属性值为wrap-reverse

  flex-wrap:wrap-reverse;

运行结果
在这里插入图片描述

在实例中,使用"flex-wrap:wrap;"设置当弹性子元素在主轴上溢出时,溢出的部分会自动换行到下一行继续排列。

复合属性:flex-flow属性

概念:flex-flow属性是用于同时设置 flex-direction 属性和 flex-wrap属性的简写形式。

语法:

flex-flow:direction wrap;

参数direction是flex-direction的取值,参数wrap是flex-wrap的取值。

实例:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flex-flow属性</title>
    <style>
    .flex-container{
        width:700px;
        height:300px;
		border:1px solid blue;
        display:flex;
		flex-flow:column-reverse wrap;
    }
    .flex-item{
        width:90px;
        height:90px;
		line-height:90px;
        margin:10px;
        font-size:20px;
        text-align:center;
        background-color:orange;
    }
    </style>
</head>
<body>
    <div class="flex-container">
        <div class="flex-item">1</div>
        <div class="flex-item">2</div>
        <div class="flex-item">3</div>
        <div class="flex-item">4</div>
        <div class="flex-item">5</div>
        <div class="flex-item">6</div>
        <div class="flex-item">7</div>
        <div class="flex-item">8</div>
		<div class="flex-item">9</div>
		<div class="flex-item">10</div>
		<div class="flex-item">11</div>
    </div>
</body>
</html>

运行结果:
在这里插入图片描述

水平对齐:justify-content属性

概念:justify-content属性用于设置弹性子元素在主轴方向上的排列形式。

语法:

justify-content:flex-start|flex-end|center|space-between|space-around;

justify-content属性取值的具体说明

属性值说明
flex-start默认值,弹性子元素将向行起始位置对齐
flex-end弹性子元素将向行结束位置对齐
center弹性子元素将向行中间位置对齐
space-between弹性子元素会平均地分布在行里,第一个弹性子元素的边界与行的起始位置边界对齐,最后一个弹性子元素的边界与行结束位置的边界对齐
space-around弹性子元素会平均地分布在行里,左右两端的两个间距为弹性子元素间距大小的一半

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>justify-content属性</title>
		<style type="text/css">
			.flex{
				width:450px;
				height:150px;
				border:1px solid blue;
				display:flex;
			}
			.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:10px;
				text-align:center;
				background-color:orange;
			}
			.start{
				justify-content:flex-start;
			}
			.end{
				justify-content:flex-end;
			}
			.center{
				justify-content:center;
			}
			.space-between{
				justify-content:space-between;
			}
			.space-around{
				justify-content:space-around;
			}
			
		</style>	
	</head>
	<body>
		<h1>flex-start</h1>
		<div class="flex start">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>flex-end</h1>
		<div class="flex end">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>center</h1>
		<div class="flex center">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>space-between</h1>
		<div class="flex space-between">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>space-around</h1>
		<div class="flex space-around">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
	</body>
</html>

运行结果
在这里插入图片描述
在这里插入图片描述

垂直对齐:align-items属性

概念:align-items 属性用于设置弹性子元素在交叉轴方向上的排列方式。

语法:

align-items:normal|flex-start|flex-end|center|baseline|stretch;

属性值

align-items属性取值具体说明

属性值说明
flex-start弹性子元素向垂直于主轴的起始位置对齐,也就是交叉轴的起点对齐
flex-end弹性子元素向垂直于主轴的结束位置对齐,也就是交叉轴的终点对齐
center弹性子元素向垂直于主轴的中间位置对齐,也就是交叉轴的终点对齐
baseline弹性子元素位于弹性容器的基线上,也就是盒子的第一行文字的基线对齐
stretch默认值,当弹性子元素没有设置具体高度时,会将弹性父容器在交叉轴方向“撑满”

​ 当 align-items属性的值不为 stretch 时,除了排列方式会改变之外,弹性子元素在交叉轴方向上的尺寸将由弹性子元素内容弹性子元素自身尺寸(宽度和高度)确定

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>align-items属性</title>
		<style type="text/css">
			.flex{
				width:450px;
				height:80px;
				border:1px solid blue;
				display:flex;
			}
			.flex-item{
				width:80px;
				height:20px;
				line-height:20px;
				margin:10px;
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.flex-item1{
				width:90px;
				margin:10px;  /*高度没设置*/
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.start{
				align-items: flex-start;
			}
			.end{
				align-items: flex-end;
			}
			.center{
				align-items: center;
			}
			.baseline{
				align-items: baseline;
			}
			.stretch{
				align-items: stretch;
			}
			
		</style>	
	</head>
	<body>
		<h1>flex-start</h1>
		<div class="flex start">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>flex-end</h1>
		<div class="flex end">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>center</h1>
		<div class="flex center">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>baseline</h1>
		<div class="flex baseline">
			<div class="flex-item">1</div>
			<div class="flex-item">2</div>
			<div class="flex-item">3</div>
		</div>
		<h1>stretch</h1>
		<div class="flex stretch">
			<div class="flex-item1">1</div>
			<div class="flex-item1">2</div>
			<div class="flex-item1">3</div>
		</div>
	</body>
</html>

运行结果
在这里插入图片描述

弹性子元素的属性

排列顺序:order属性

概念:order属性 用于设置弹性子元素出现的顺序。如果order属性值相同则按照它们在代码中出现的顺序进行布局。

语法:

order:number;

属性值

order取值是任意数字,可以是负值。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>order属性</title>
		<style type="text/css">
			.flex-container{
				width:450px;
				height:130px;
				border:1px solid blue;
				display:flex;
				flex-direction:row;
			}
			.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.a{
				order:2;
			}
			.b{
				order:3;
			}
			.c{
				order:1;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item a">1</div>
			<div class="flex-item b">2</div>
			<div class="flex-item c">3</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

放大空间:flex-grow属性

概念:flex-grow属性用于定义弹性父容器若在空间分配方向上还有剩余空间,如何分配这些剩余空间。剩余空间是指父弹性容器的大小减去所有弹性子元素的大小。具体表现为定义放大弹性子元素的空间占比。

语法:

flex-grow:number[0,∞];

flex-grow属性其值为一个数值,默认为0(纯数字,无单位)表示不索取父元素的剩余空间。当取值大于0时,表示索取父元素的剩余空间(具体表现为将弹性子元素放大)。取值越大,索取得越多。负值无效。

注意:在使用flex-grow属性时,一般是不需要对弹性子元素定义宽度或高度的,否则会影响flex容器的比例分配。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex-grow属性</title>
		<style type="text/css">
			.flex-container{
				width:450px;
				height:130px;
				border:1px solid blue;
				display:flex;
				flex-direction:row;
			}
			.flex-item{
				width:90px;
				height:90px;
				line-height:90px;
				margin:10px;
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.a{
				flex-grow:20;
			}
			.b{
				flex-grow:0.5;
			}
			.c{
				flex-grow:5;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item a">1</div>
			<div class="flex-item b">2</div>
			<div class="flex-item c">3</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

缩小空间:flex-shrink属性

概念:flex-shrink属性用于当父元素不够时,让各个子元素收缩以适应有限的空间。简单的说,就是弹性容器中所有弹性子元素之和大于弹性父元素的宽度时,弹性子元素如何缩小自己的宽度。flex-shrink属性定义了子元素的收缩系数,即子元素宽度变小的权重分量。

当弹性容器的宽度不够分配时,弹性子元素都将等比例缩小,占满整个宽度

语法:

flex-shrink:number;

取值是一个数值,默认值为1。当取值为0时,表示弹性子元素不缩小;当取值大于1时,表示弹性子元素按一定的比例缩小。取值越大,其缩小的就越厉害。负值是无效的。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex-shrink属性</title>
		<style type="text/css">
			.flex-container{
				width:400px;
				height:130px;
				border:1px solid blue;
				display:flex;
			}
			.flex-item{
				width:400px;
				height:90px; 
				line-height:90px;
				margin:10px;
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.a{
				flex-shrink:2;
			}
			.b{
				flex-shrink:7;
			}
			.c{
				flex-shrink:5;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item a">1</div>
			<div class="flex-item b">2</div>
			<div class="flex-item c">3</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

元素宽度:flex-basis属性

概念:flex-basis属性用于设置弹性子元素在主轴方向上的初始宽度。flex-basis就相当于width,都是用来定义弹性子元素的宽度。但是在弹性容器中,flex-basis属性的语义会比width更好。

语法:

flex-basis:content<'width'>;

属性值

flex-basis属性的取值跟width一样。默认值为auto。其值为auto时,弹性子元素的宽度值是为其设置的 width属性的值。另一个是数值,单位可以为px,em和百分比等。

注意:当一个元素同时被设置了flex-basis和width时,因为flex-basis 属性的优先级大于width属性,那么flex-basis的值会覆盖掉width设置的值。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>flex-basis属性</title>
		<style type="text/css">
			.flex-container{
				width:400px;
				height:130px;
				border:1px solid blue;
				display:flex;
			}
			.flex-item{
				width:100px;
				height:90px; 
				line-height:90px;
				margin:10px;
				font-size:20px;
				text-align:center;
				background-color:orange;
			}
			.a{
				flex-basis:100px;
			}
			.b{
				flex-basis:150px;
			}
			.c{
				flex-basis:50px;
			}
		</style>	
	</head>
	<body>
		<div class="flex-container">
			<div class="flex-item a">100px</div>
			<div class="flex-item b">150px</div>
			<div class="flex-item c">50px</div>
		</div>
	</body>
</html>

运行结果:
在这里插入图片描述

复合属性:flex属性

概念:flex属性是 flex-grow,flex-shrink和flex-basis属性的简写属性。

语法:

flex:grow shrink basis;

实例:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>弹性子元素-flex-basis属性</title>
    <style>
        .flex-container{
			width:400px;
			height:130px;
			border:1px solid blue;
			display:flex;
							}
        .flex-item{
         width:100px;
         height:90px; 
         line-height:90px;
         margin:10px;
         font-size:20px;
         text-align:center;
         background-color:orange;
        }
        .a{
          /*设置第一个弹性子元素不可增长(0),不可收缩(0)且初始宽度为50px*/
             flex:0 0 50px;  
        }
        .c{
           /*设置三个弹性子元素可增长(12),不可收缩(0)且初始宽度为100px*/
            flex:12 0 100px;
        }
    </style>
</head>
<body>
     <div class="flex-container">
        <div class="flex-item a">1</div>
        <div class="flex-item b">2</div>
        <div class="flex-item c">3</div>
    </div>
</body>
</html>

运行结果:
在这里插入图片描述

垂直排列:align-self属性

概念:align-self属性能够覆盖弹性容器中的align-items属性,用于设置单独的弹性子元素如何沿着交叉轴的方向进行排列。

语法:

align-self:auto|flex-start|flex-end|center|baseline|stretch;

属性值

取值与align-items属性取值相似

属性值说明
auto设置为父元素的align-item值
flex-start弹性子元素向垂直于主轴的起始位置对齐,也就是交叉轴的起点对齐
flex-end弹性子元素向垂直于主轴的结束位置对齐,也就是交叉轴的终点对齐
center弹性子元素向垂直于主轴的中间位置对齐,也就是交叉轴的终点对齐
baseline弹性子元素位于弹性容器的基线上,也就是盒子的第一行文字的基线对齐
stretch默认值,当弹性子元素没有设置具体高度时,会将弹性父容器在交叉轴方向“撑满”

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>align-self属性</title>
	  <style>
	   .flex-container{
			width:400px;
			height:300px;
			border:1px solid blue;
			display:flex;
	   					}
	   .flex-item{
			width:100px;
			height:90px; 
			line-height:90px;
			margin:10px;
			font-size:20px;
			text-align:center;
			background-color:orange;
	   }
	     .a{
	        align-self:flex-end;
	     }
	     .b{
	         align-self:center;
	     }
	     .c{
	        align-self:flex-start;
	     }
	 </style>
	</head>
	<body>
	    <div class="flex-container">
	        <div class="flex-item a">1</div>
	        <div class="flex-item b">2</div>
	        <div class="flex-item c">3</div>
	    </div>
	</body>
	</html>

运行结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8s(一)Pod资源——Pod介绍、创建Pod、Pod简单资源配额

目录 Pod概述 pod网络 pod存储 pod和容器对比 创建pod的方式 pod运行方式分类 Pod的创建 Pod的创建过程 通过kubectl run来创建pod 通过yaml文件创建&#xff0c;yaml文件简单写法 Pod简单操作 Pod的标签labels Pod的资源配额resource 测试 Pod概述 Kubernetes …

嵌入式学习-网络编程-Day4

思维导图 广播通信模型 #include <myhead.h> int main(int argc, char const *argv[]) {int rfd socket(AF_INET,SOCK_DGRAM,0);if(rfd-1){perror("socket error");return -1;}//填充地址信息结构体struct sockaddr_in rin;rin.sin_familyAF_INET;rin.sin_por…

[ceph] ceph应用

一、资源池 Pool 管理 #创建一个 Pool 资源池&#xff0c;其名字为 mypool&#xff0c;PGs 数量设置为 64&#xff0c;设置 PGs 的同时还需要设置 PGP&#xff08;通常PGs和PGP的值是相同的&#xff09;&#xff1a; PG (Placement Group)&#xff0c;pg 是一个虚拟的概念&…

基于变换域的模版匹配

模板匹配原理 图像的空间域与其他域之间的变换&#xff0c;如傅里叶变换&#xff0c;小波变换&#xff0c;轮廓波变换&#xff0c;剪切波变换等&#xff0c;实际上是图像在其他坐标领域中的表现。在空间域中&#xff0c;图像的信息是像素值和坐标位置&#xff1b;在其他域中&a…

交通流量预测HSTGCNT:Hierarchical Spatio–Temporal Graph Convolutional

Hierarchical Spatio–Temporal Graph Convolutional Networks and Transformer Network for Traffic Flow Forecasting 交通流预测的层次时空图卷积网络和Transformer网络 Abstract 图卷积网络&#xff08;GCN&#xff09;具有图形化描述道路网络不规则拓扑结构的能力&#…

【C语言】数据结构——排序三(归并与计数排序)

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读&#xff1a;1. 归并排序1.1 基本思想1.2 递归实现1.3 非递归实现 2. 计数排序2.1 基本思想2.2 代码实现 导读&#x…

如何用Python进行数据分析(保姆级教程)

有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了&#xff0c;比较复杂。 很多网上的资料都是从语法教起的&#xff0c;花了很多时间还是云里雾里&#xff0c;摸不清方向。今天就给大家来捋一捋思路&#xff01;帮助大家提高学习效率&#xff01; Pyt…

夜神安装Magisk及Delta(狐狸面具)教程

Magisk和LSPosed、EdXPosed下载 Magisk框架下载与安装教程 - 多开鸭Magisk及LSPosed在模拟器安装的详细视频教程 推荐先看一遍教程 视频教程 雷电模拟器版本教程&#xff1a;https://www.bilibili.com/video/BV1kv4y127af 夜神模拟https://www.duokaiya.com/magisk.html 夜神模…

JS遍历对象的方法及特点

1、定义一个对象 let obj {name: Tom,age: 20,sex: 男,};obj.weight 70kg;// obj的原型上定义属性Object.prototype.height 180cm;Object.prototype.major function() {console.log(专业&#xff1a;计算机应用技术);};console.log(obj, obj); 控制台输出的obj中&#xff…

C++make_pair,你真的懂了吗?

其实写这篇文章我还是很忐忑的&#xff0c;因为用C也写了快一年了&#xff0c;平时代码量个人认为还可以&#xff0c;但是最近两天频繁犯错&#xff0c;下面先说说我写的错误吧&#xff01; 我们都知道make_pair返回的是一个pair类型的函数&#xff0c;而pair这个键值对它又是…

go语言(一)----声明常量

package mainimport ("fmt""time" )func main() {fmt.Print("hello go!")time.Sleep(1 * time.Second)}运行后&#xff0c;结果如下&#xff1a; 1、golang表达式中&#xff0c;加&#xff1b;和不加&#xff1b;都可以 2、函数的{和函数名一…

二二复制模式玩法解析

这个模式和小编介绍的其他模式不同&#xff0c;其他的模式都是需要一个推荐来获得返利或者免单的&#xff0c;但是这个模式是不需要的&#xff0c;因为它可以依靠平台来完成闭环。 具体是怎么操作的呢&#xff1f;这个模式很简单&#xff0c;只有两个奖励。一个是直推奖&#x…

C++初阶类与对象(一):学习类与对象、访问限定符、封装、this指针

入门知识已经梳理完毕了&#xff0c;接下来就进入到面型对象的部分学习了 文章目录 1.面向过程和面向对象初步认识2.类的引入3.类的定义3.1类的结构3.2类的两种定义方式3.2.1声明和定义全部放在类体中3.2.2声明和定义分开 3.3成员变量命名规则的建议 4.类的访问限定符及封装4.1…

Java-NIO篇章(2)——Buffer缓冲区详解

Buffer类简介 Buffer类是一个抽象类&#xff0c;对应于Java的主要数据类型&#xff0c;在NIO中有8种缓冲区类&#xff0c;分别如下&#xff1a; ByteBuffer、 CharBuffer、 DoubleBuffer、 FloatBuffer、 IntBuffer、 LongBuffer、 ShortBuffer、MappedByteBuffer。 本文以它的…

【Linux】nc 网络诊断 | 文件传输 命令详解

目录 一、命令简介 二、命令使用 2.1 测试服务器 2.2 端口连通性测试 2.2.1tcp端口连通性测试 2.2.2udp端口连通性测试 2.3 文件及目录的传输 2.3.1 文件传输(TCP端口) 2.3.2 文件传输(UDP端口) 相关文章&#xff1a; 【网络】抓包工具Wireshark下载安装和基本使用教…

EasyConnect客户端 连接时提示,获取服务端配置信息失败

环境&#xff1a; EasyConnect客户端 问题描述&#xff1a; EasyConnect客户端 连接时提示&#xff0c;获取服务端配置信息失败 解决方案&#xff1a; 1.电脑上的防火墙和杀毒软件建议关闭,右键以管理员身份运行EasyConnect客户端使用(临时解决本案例) 2.用修复工具修复测…

maxwell同步全量历史数据

CentOS安装maxwell 在上篇的基础上&#xff0c;我们实现了实时同步mysql数据到kafka。maxwell不仅可以同步实时数据&#xff0c;也可以同步全量历史数据。在这里模拟一下历史数据的场景&#xff0c;创建表结构如下&#xff0c;并写入测试数据。 CREATE TABLE user_det…

手把手教你搭建3D元宇宙场景!

AMRT3D引擎一经上线&#xff0c;便立即引起了3D爱好者们的热烈反响。许多用户纷纷下载了此引擎&#xff0c;并开始认真学习和使用它。 有的用户甚至只用了一天的时间&#xff0c;就已经可以利用AMRT3D引擎搭建出一个3D项目。这充分说明了AMRT3D引擎的强大和高效&#xff0c;也…

代码随想录算法训练营第31天 | 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

目录 理论基础 455.分发饼干 &#x1f4a1;解题思路 &#x1f4bb;实现代码 376. 摆动序列 &#x1f4a1;解题思路 # 情况一&#xff1a;上下坡中有平坡 # 情况二&#xff1a;数组首尾两端 情况三&#xff1a;单调坡度有平坡 &#x1f4bb;实现代码 53. 最大子序…

matlab快速入门(读取数据并绘制散点图和拉格朗日插值

目录 1.读取excel&#xff1a;2.注释快捷键&#xff1a;3.数组/矩阵索引&#xff1a;4.绘制散点图&#xff1a;5.拉格朗日插值&#xff1a;5.1分割出非空和空的x和y两组数据&#xff1a;5.2插值&#xff1a;5.3画图&#xff1a; 小结&#xff1a; 1.读取excel&#xff1a; [nu…