21.6 CSS 弹性布局

image-20231007121635888

1. 弹性盒子

CSS弹性盒子(Flexbox)是一种布局模型, 用于创建灵活的, 自适应的网页布局.
它的目的是在不同屏幕尺寸和设备上实现一致的布局效果.引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列, 对齐和分配空白空间.
弹性容器通过设置display属性的值为flex或inline-flex将其定义为弹性容器.弹性盒子由容器(flex container)和其内部的项目(flex items)组成.
弹性容器内包含了一个或多个弹性子元素.注意事项: 
* 1. 弹性容器外及弹性子元素内是正常渲染的.
* 2. 弹性盒子只定义了弹性子元素如何在弹性容器内布局.
* 3. 弹性子元素通常在弹性盒子内一行显示.
* 4. 默认情况每个容器只有一行.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>创建盒子</title><style>.flex-container {display: flex;height: 250px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 100px;margin: 10px;}</style>
</head>
<body><div class="flex-container"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div></body>
</html>

image-20231006210713181

2. 盒子排列方式

2.1 排列方式1

可以设置容器的direction属性, 指定弹性容器中子元素的排列方式.
常用属性值:
* 1. ltr(left-to-right): 从左到右的方式排列(默认).
* 2. rtl(right-to-left): 从右到左的方式排列.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>排序方式</title><style>.flex-container {display: flex;height: 250px;background-color: #2b2b2d;direction: rtl;}.flex-item {background-color: #00fbff;width: 100px;height: 100px;margin: 10px;}</style>
</head>
<body><div class="flex-container"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div></body>
</html>

image-20231006211434118

2.2 排列方式2

可以设置容器的flex-direction属性, 指定弹性子元素在父容器排列方式.常用属性值:
* 1. row: 横向从左到右排列(左对齐), 默认的排列方式.
* 2. row-reverse: 反转横向排列(右对齐), 从后往前排, 最后一项排在最前面.
* 3. column: 纵向排列.
* 4. column-reverse: 反转纵向排列, 从后往前排, 最后一项排在最上面.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>排序方式2</title><style>.flex-container {display: flex;height: 150px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 30px;margin: 10px;}.row {flex-direction: row;}.row-reverse {flex-direction: row-reverse;}.column {flex-direction: column;}.column-reverse {flex-direction: column-reverse;}</style>
</head>
<body><div class="flex-container row"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div>
<br>
<div class="flex-container row-reverse"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div>
<br>
<div class="flex-container column"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div>
<br>
<div class="flex-container column-reverse"><div class="flex-item">flex item 1</div><div class="flex-item">flex item 2</div><div class="flex-item">flex item 3</div>
</div>
</body>
</html>

image-20231006212838689

3.盒子对齐方式

3.1 水平对齐方式

可以通过容器的justify-content属性, 设置弹性盒子元素在主轴(横轴)方向上的对齐方式.常用属性值:
* 1. flex-start: 弹性项目向行头紧挨着填充(默认).第一个弹性项的main-start外边距边线被放置在该行的main-start边线, 而后续弹性项依次平齐摆放.* 2. flex-end: 弹性项目向行尾紧挨着填充.第一个弹性项的main-end外边距边线被放置在该行的main-end边线, 而后续弹性项依次平齐摆放.* 3. center: 弹性项目居中紧挨着填充.如果剩余的自由空间是负的, 则弹性项目将在两个方向上同时溢出.* 4. space-between: 弹性项目平均分布在该行上.如果剩余空间为负或者只有一个弹性项, 则该值等同于flex-start.否则, 1个弹性项的外边距和行的main-start边线对齐, 而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上, 相邻项目的间隔相等.* 5. space-around: 弹性项目平均分布在该行上, 两边留有一半的间隔空间.如果剩余空间为负或者只有一个弹性项, 则该值等同于center.否则, 弹性项目沿该行分布, 且彼此间隔相等(比如是20px), 同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px).
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>对齐方式</title><style>.flex-container {display: flex;height: 60px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 30px;margin: 10px;}.flex-start {justify-content: flex-start;}.center {justify-content: center;}.flex-end {justify-content: flex-end;}.space-between {justify-content: space-between;}.space-around {justify-content: space-around;}</style>
</head>
<body><div class="flex-container flex-start"><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>
<br>
<div class="flex-container center"><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>
<br>
<div class="flex-container flex-end"><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>
<br>
<div class="flex-container space-between"><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>
<br>
<div class="flex-container space-around"><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></body>
</html>

image-20231006224437645

3.2 垂直对齐方式

可以通过容器的align-items属性, 设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式.常用属性值:
* 1. flex-start: 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界.
* 2. flex-end: 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界.
* 3. center: 弹性盒子元素在该行的侧轴(纵轴)上居中放置. 如果该行的尺寸小于弹性盒子元素的尺寸, 则会向两个方向溢出相同的长度.
* 4. baseline: 如弹性盒子元素的行内轴与侧轴为同一条, 则该值与'flex-start'等效.其它情况下, 该值将参与基线对齐.
* 5. stretch: 如果指定侧轴大小的属性值为'auto', 则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>垂直对齐方式</title><style>.flex-container {display: flex;height: 150px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 30px;margin: 10px;}.flex-start {align-items: flex-start;}.center {align-items: center;}.flex-end {align-items: flex-end;}.baseline {align-items: baseline;}.stretch {align-items: stretch;}</style>
</head>
<body><div class="flex-container flex-start"><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>
<br>
<div class="flex-container center"><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>
<br>
<div class="flex-container flex-end"><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>
<br>
<div class="flex-container baseline"><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>
<br>
<div class="flex-container stretch"><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></body>
</html>

image-20231006224501190

4. 换行方式

可以通过容器的flex-wrap属性, 设置弹性盒子的子元素超出父容器时是否换行.常用属性值:
* 1. nowrap: 默认, 弹性容器为单行.该情况下弹性子项可能会溢出容器.* 2. wrap: 弹性容器为多行.该情况下弹性子项溢出的部分会被放置到新行, 子项内部会发生断行.* 3. wrap-reverse: 反转wrap排列.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>换行方式</title><style>.flex-container {display: flex;width: 300px;height: 250px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 100px;margin: 10px;}.nowrap {flex-wrap: nowrap;}.wrap {flex-wrap: wrap;}.wrap-reverse {flex-wrap: wrap-reverse;}</style>
</head>
<body>
<div><div class="flex-container nowrap"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div></div>
</div><br>
<div class="flex-container wrap"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
<br>
<div class="flex-container wrap-reverse"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
</body>
</html>

image-20231006231931371

5. 多行对齐方式

可以通过容器的align-content属性, 控制多行弹性容器内各行的对齐方式(修改flex-wrap属性的行为).常用属性值:
* 1. flex-start: 各行集中在弹性容器的起始位置.
* 2. flex-end: 各行集中在弹性容器的末尾位置.
* 3. center: 各行集中在弹性容器的垂直中心位置.
* 4. space-between: 各行之间均匀分布, 首行对齐弹性容器的起始位置, 末行对齐弹性容器的末尾位置.
* 5. space-around: 各行之间均匀分布, 包括首行和末行, 行与行之间的空白空间相等.
* 6. stretch: 如果子项没有设置高度, 则将行拉伸以填充整个行.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>多行对齐方式</title><style>.flex-container {display: flex;width: 200px;height: 220px;background-color: #2b2b2d;flex-wrap: wrap;}.flex-item {background-color: #00fbff;width: 50px;height: 50px;margin: 10px;}.flex-start {align-content: flex-start;}.center {align-content: center;}.flex-end {align-content: flex-end;}.space-between {align-content: space-between;}.space-around {align-content: space-around;}</style>
</head>
<body>
<div><div class="flex-container"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div></div>
</div>
<br><div class="flex-container flex-start"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
<br><div class="flex-container center"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
<br><div class="flex-container flex-end"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
<br><div class="flex-container space-between"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div>
<br><div class="flex-container space-around"><div class="flex-item"> flex item 1</div><div class="flex-item"> flex item 2</div><div class="flex-item"> flex item 3</div>
</div></body>
</html>

image-20231007003507801

6. 项目次序

可以通过容器子元素的的order属性, 设置弹性容器内弹性子元素的排序.
属性值: <integer>: 用整数值来定义排列顺序, 数值小的排在前面. 可以为负值.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>项目次序</title><style>.flex-container {display: flex;width: 400px;height: 200px;background-color: #2b2b2d;}.flex-item {background-color: #00fbff;width: 100px;height: 100px;margin: 10px;}.order-0 {order: 0;}.order-1 {order: 1;}.order-2 {order: 2;}</style>
</head>
<body>
<div><div class="flex-container"><div class="flex-item order-2"> flex item 1</div><div class="flex-item order-1"> flex item 2</div><div class="flex-item order-0"> flex item 3</div></div>
</div>
</body>
</html>

image-20231007004321070

7. 项目对齐

7.1 外间距对齐方式

可以为容器子元素设置margin外间距属性, 控制子项的显示位置.常用设置方式:
* 1. margin-light: auto;  右边距设置为最大值.
* 2. margin-left: auto;   左边距设置为最大值.
* 3. margin-top: auto;    上边距设置为最大值.
* 4. margin-button: auto; 下边距设置为最大值.
* 5. margin: 0 auto;  水平居中.
* 6. margin: auto 0;  垂直居中.
* 7. margin: auto;  完全居中.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>项目对齐</title><style>.flex-container {display: flex;height: 250px;background-color: lightgrey;}.flex-item {background-color: cornflowerblue;width: 75px;height: 75px;margin: 10px;}.flex-item {margin: auto;}</style>
</head>
<body><div class="flex-container"><div class="flex-item">flex item 1</div>
</div></body>
</html>

image-20231007113606125

7.2 垂直对齐方式

可以通过容器子元素的的align-self属性, 设置弹性元素自身在侧轴(纵轴)方向上的对齐方式.常用属性值:
* 1. auto: 如果'align-self'的值为'auto';则其计算值为元素的父元素的'align-items', 如果其没有父元素, 则计算值为'stretch'.* 2. flex-start: 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界.* 3. center: 弹性盒子元素在该行的侧轴(纵轴)上居中放置.如果该行的尺寸小于弹性盒子元素的尺寸, 则会向两个方向溢出相同的长度.* 4. flex-end: 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界.* 5. baseline: 如弹性盒子元素的行内轴与侧轴为同一条, 则该值与'flex-start'等效.其它情况下, 该值将参与基线对齐.* 6. stretch: 如果指定侧轴大小的属性值为'auto';则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸, 但同时会遵照'min/max-width/height'属性的限制.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>垂直对齐</title><style>.flex-container {display: flex;height: 250px;background-color: #2b2b2d;}.flex-item {background-color: cornflowerblue;width: 60px;min-height: 100px;margin-right: auto;}.flex-start {align-self: flex-start;}.center {align-self: center;}.flex-end {align-self: flex-end;}.baseline {align-self: baseline;}.stretch {align-self: stretch;}</style>
</head>
<body><div class="flex-container"><div class="flex-item flex-start">flex-start</div><div class="flex-item center">flex-end</div><div class="flex-item flex-end">center</div><div class="flex-item baseline">baseline</div><div class="flex-item stretch">stretch</div>
</div>
</body>
</html>

image-20231007114642411

8. 分配空间

可以通过容器子元素的的flex属性, 指定弹性子元素如何分配空间.常用属性值:
* 1. auto: 计算值为: 1 1 auto, 表示弹性子元素可以根据需要自动扩展或收缩, 并且基准值为自动.
* 2. initial: 计算值为: 0 1 auto, 表示弹性子元素不扩展, 可以收缩, 并且基准值为自动.
* 3. none: 计算值为: 0 0 auto, 表示弹性子元素不扩展, 也不收缩, 并且基准值为自动.
* 4. inherit: 从父元素继承该属性的值.
* 5. [flex-grow]:   定义弹性子元素的扩展比率, 用于指定弹性子元素在剩余空间中的相对大小.
* 6. [flex-shrink]: 定义弹性子元素的收缩比率, 用于指定弹性子元素在空间不足时的相对缩小程度.
* 7. [flex-basis]:  定义弹性子元素的默认基准值, 用于指定弹性子元素在没有剩余空间时的大小.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>分配空间</title><style>.flex-container {display: flex;height: 250px;background-color: lightgrey;}.flex-item {background-color: cornflowerblue;margin: 10px;}/* 2/4 */.flex-2 {flex: 2;}/* 1/4 */.flex-1 {flex: 1;}</style>
</head>
<body><div class="flex-container"><div class="flex-item flex-2">flex item 1</div><div class="flex-item flex-1">flex item 2</div><div class="flex-item flex-1">flex item 3</div>
</div></body>
</html>

image-20231007115649231

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

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

相关文章

深入理解强化学习——强化学习的基础知识

分类目录&#xff1a;《深入理解强化学习》总目录 在机器学习领域&#xff0c;有一类任务和人的选择很相似&#xff0c;即序贯决策&#xff08;Sequential Decision Making&#xff09;任务。决策和预测任务不同&#xff0c;决策往往会带来“后果”&#xff0c;因此决策者需要为…

华硕平板k013me176cx线刷方法

1.下载adb刷机工具, 或者刷机精灵 2.下载刷机rom包 华硕asus k013 me176cx rom固件刷机包-CSDN博客 3.平板进入刷机界面 进入方法参考&#xff1a; ASUS (k013) ME176CX不进入系统恢复出厂设置的方法-CSDN博客 4.解压ME176C-CN-3_2_23_182.zip&#xff0c;把UL-K013-CN-3.2.…

竞赛选题 机器学习股票大数据量化分析与预测系统 - python 竞赛选题

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…

动态内存管理函数(malloc,calloc,realloc,free)

动态内存函数 1.1malloc和free C语言提供了一个动态内存开辟的函数&#xff1a; void* malloc (size_t size); 这个函数向内存申请一块连续可用的空间&#xff0c;并返回指向这块空间的指针。 如果开辟成功&#xff0c;则返回一个指向开辟好空间的指针。如果开辟失败&#…

开源大模型正在“杀死”闭源?

点击关注 文丨郝 鑫&#xff0c;编丨刘雨琦 “OpenAI不足为惧&#xff0c;开源会慢慢赶上来。” 彼时Hugging Face创始人Clem Delangue的一句预言&#xff0c;正在迅速成为现实。 ChatGPT横空出世7个多月后&#xff0c;7月19日&#xff0c;Llama 2宣布开源&#xff0c;并且可…

day25--JS进阶(递归函数,深浅拷贝,异常处理,改变this指向,防抖及节流)

目录 浅拷贝 1.拷贝对象①Object.assgin() ②展开运算符newObj {...obj}拷贝对象 2.拷贝数组 ①Array.prototype.concat() ② newArr [...arr] 深拷贝 1.通过递归实现深拷贝 2.lodash/cloneDeep实现 3.通过JSON.stringify()实现 异常处理 throw抛异常 try/catch捕获…

Linux读写锁的容易犯的问题

Linux读写锁的容易犯的问题 读写锁是互斥锁之外的另一种用于多线程之间同步的一种方式。 多线程对于一个共享变量的读操作是安全的&#xff0c; 而写操作是不安全的。如果在一个读很多而写很少的场景之下&#xff0c;那么使用互斥锁将会阻碍大量的线程安全的读操作的进行。在…

地震勘探——相关概念(一)

地震波的基本介绍 波前&#xff1a;波在同一时刻所到达的点所构成的面&#xff0c;这个面上构成的相位是相同的。波前的形状取决于传播介质的物理性质。我们可以用地震波动方程模拟波前变化&#xff08;波场快照&#xff09;。 射线&#xff08;Ray&#xff09;&#xff1a;是…

Unity Golang教程-Shader编写一个流动的云效果

创建目录 一个友好的项目&#xff0c;项目目录结构是很重要的。我们先导入一个登录界面模型资源。 我们先创建Art表示是美术类的资源&#xff0c;资源是模型创建Model文件夹&#xff0c;由于是在登录界面所以创建Login文件夹&#xff0c;下面依次是模型对应的资源&#xff0c…

【SkyWalking】SkyWalking是如何实现跨进程传播链路数据?

文章目录 一、简介1 为什么写这篇文章2 跨进程传播协议-简介 二、协议1 Standard Header项2 Extension Header项3 Correlation Header项 三、跨进程传播协议的源码分析1 OpenTracing规范2 通过dubbo插件分析跨进程数据传播3 分析跨进程传播协议的核心源码 四、小结参考 一、简介…

C++变量默认初始化

初始化不是赋值&#xff0c;初始化是指创建变量时赋予一个初始值&#xff0c;赋值是指将变量的当前值擦除&#xff0c;赋予新值。 如果定义变量时没有初始化&#xff0c;则变量会被系统默认初始化。“默认值”取决于变量的&#xff1a;类型位置 startmindmap * C变量默认初始…

对于无法直接获取URL的数据爬虫

在爬学校安全教育题库的时候发现题库分页实际上执行了一段js代码&#xff0c;如下图所示 点击下一页时是执行了函数doPostBack&#xff0c;查看页面源码如下 点击下一页后这段js提交了一个表单&#xff0c;随后后端返回对应数据&#xff0c;一开始尝试分析获取对应两个参数&a…

【虚拟机】桥接模式下访问外网

目录 一、桥接模式的作用原理 二、配置桥接模式实现外网访问 1、设置 VMnet0 要桥接的网卡 2、虚拟机选择 VMnet0 网卡 3、手动配置虚拟机IP 一、桥接模式的作用原理 桥接模式相当于在当前局域网里创立了一个单独的主机&#xff0c;该主机桥接到宿主主机的网卡&#xff0…

细粒度特征提取和定位用于目标检测:PPCNN

1、简介 近年来&#xff0c;深度卷积神经网络在计算机视觉上取得了优异的性能。深度卷积神经网络以精确地分类目标信息而闻名&#xff0c;并采用了简单的卷积体系结构来降低图层的复杂性。基于深度卷积神经网络概念设计的VGG网络。VGGNet在对大规模图像进行分类方面取得了巨大…

uCOSIII实时操作系统 三 移植

目录 uCOSIII简介&#xff1a; 准备工作&#xff1a; 准备基础工程&#xff1a; UCOSIII工程源码&#xff1a; UCOSIII移植&#xff1a; 向基础工程中添加相应的文件夹 向工程中添加分组 常见问题&#xff1a; 下载验证&#xff1a; uCOSIII简介&#xff1a; UCOS-I…

【Nginx学习】—Nginx基本知识

【Nginx学习】—Nginx基本知识 一、什么是Nginx Nginx是一个高性能的HTTP和反向代理的web服务器&#xff0c;Nginx是一款轻量级的Web服务器/反向代理服务器处理高并发能力是十分强大的&#xff0c;并且支持热部署&#xff0c;启动简单&#xff0c;可以做到7*24不间断运行。 …

SketchyCOCO数据集进行前景图像、背景图像和全景图像的分类

SketchyCOCO数据集进行前景图像、背景图像和全景图像的分类 import os import shutildef CopyFile(src, dst, filename):if not os.path.exists(dst):os.makedirs(dst)print(create dir: dst)try:shutil.copy(src\\filename, dst\\filename)except Exception as e:print(cop…

计算机网络-计算机网络体系结构-物理层

目录 一、通信基础 通信方式 传输方式 码元 传输率 *二 准则 2.1奈氏准则(奈奎斯特定理) 2.2香农定理 三、信号的编码和调制 *数字数据->数字信号 数字数据->模拟信号 模拟数据->数字信号 模拟数据->模拟信号 *四、数据交换方式 电路交换 报文交换…

kafka客户端应用参数详解

一、基本客户端收发消息 Kafka提供了非常简单的客户端API。只需要引入一个Maven依赖即可&#xff1a; <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.13</artifactId><version>3.4.0</version></depend…

力扣 -- 516. 最长回文子序列

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int longestPalindromeSubseq(string s) {int ns.size();vector<vector<int>> dp(n,vector<int>(n));//记得从下往上填表for(int in-1;i>0;i--){//记得i是小于等于j的for(int ji;j&l…