当前位置: 首页 > news >正文

CSS 系列之:grid 布局

基本概念

<template><div class="parent"><div class="box">p1-1</div><div class="box">p1-2</div><div class="box">p1-3</div></div><div class="parent"><div class="box">p2-1</div><div class="box">p2-2</div><div class="box">p2-3</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid; // 块级容器,宽度撑满整行/* display: inline-grid; */ // 行内容器,宽度随内容自适应
}.box {border: 1px solid #000;
}
</style>

最外层的 <div class="parent"> 称为容器,内层的三个 <div class="children"> 称为项目(或网格项)。

使用网格布局后,项目的 float、display: inline-block、display: table-cell、vertical-align、column-* 等设置都将失效。

在这里插入图片描述
在这里插入图片描述

指定行列

grid-template-columns 指定划分列数

grid-template-rows 指定划分行数

固定宽高 px

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box box5">5</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;/* 3 列 */grid-template-columns: 100px 100px 100px;/* 2 行 */grid-template-rows: 50px 40px;
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述
可以看到 grid-template-columns 和 grid-template-rows 设置的值是包含 margin 在内的。

使用了 grid-template-columns 和 grid-template-rows 后还可以单独给项目设置宽高吗?答案是可以的。

.box5 {height: 80px;
}

在这里插入图片描述
单独设置宽高是不包含 margin 的,且容器的宽高不会受它影响。

百分比 %

  • 如果 .parent 没有显式设置 width 和 height ,则 100% 将等于 .parent 自然展开后的宽高。

  • 如果 .parent 有显式的 width 和 height 值,那么 100% 就等于该指定的宽高值。

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box"><div style="height: 30px;">7</div></div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;/* 3 列 */grid-template-columns: 40% 30% 20%;/* 2 行 */grid-template-rows: 100% 50%;
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述
第 7 个 项目的高度没有被 grid-template-rows 设置到,则第 7 个 div 的高度是他实际内容的高度。

重复设置 repeat

使用 repeat 统一设置值,第一个参数为重复数量,第二个参数是重复值

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;/* 3 列 */grid-template-columns: repeat(3, 40%);/* 2 行 */grid-template-rows: repeat(2, 50%);
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述
项目总宽度超过 100% 时会产生滚动条。

repeat 还可以设置多个值:

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: repeat(2, 200px 100px);grid-template-rows: repeat(2, 50px);
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述

自动填充 auto

用于填充满所有剩余空间

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: 100px 20% auto;
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述

比例划分 fr

fr 是 fraction 的缩写,意为"片段"。

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: 100px 1fr 2fr;grid-template-rows: 3fr 1fr 2fr;
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述

假设容器总宽度是 800px,grid-template-columns: 100px 1fr 2fr 则表示第一列占据 100px 宽度,第二列占据剩余 700px 的三分之一的宽度,第三列占据剩余 700px 的三分之二的宽度。

所以 grid-template-columns: 100px 20% 1fr 中最后一列的 1fr 其实也是铺满剩余空间的意思。

repeat 中也能用 fr。

最大最小值 minmax

minmax() 函数产生一个长度范围,表示长度就在这个范围之中。它接受两个参数,分别为最小值和最大值。

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div></template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: 100px 100px minmax(100px, 1fr);grid-template-rows: 3fr 1fr 2fr;
}.box {border: 1px solid #000;margin: 10px;
}
</style>

最后一列表示宽度最小 100px,最大铺满剩余空间。
在这里插入图片描述

自动调整 auto-fit 和 auto-fill

<template><div class="parent auto-fit"><div class="box">1</div><div class="box">2</div><div class="box">3</div></div><div class="parent auto-fill"><div class="box">1</div><div class="box">2</div><div class="box">3</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;width: 600px;margin-bottom: 20px;
}.auto-fit {grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}.auto-fill {grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}.box {border: 1px solid #000;margin: 10px;
}
</style>

在这里插入图片描述

容器宽度为 600px,我们希望在其中放置一些最小宽度为 100px 的项目,每个项目的最大宽度为 1fr(即剩余空间的等分部分)。

理论上可以创建 6 个 100px 宽的列,但只有 3 个项目,所以会有 3 个空的列。

auto-fit 会合并多余的空列,使现有列扩展以填满所有可用空间。

auto-fill 仍然会创建 6 个列,但其中 3 个列将是空的。

在这里插入图片描述
在这里插入图片描述
auto-fill 和 auto-fit 关键需要与 repeat() 函数和 minmax() 函数一起使用,才能发挥它们的作用。

在上例中我们看到,使用 auto-fill 时,项目的宽度始终时 minmax(100px, 1fr) 中的最小值 100px,那么 1fr 的作用是什么呢?

直接说结论:

  • 当容器的宽度小于等于项目的宽度时,1fr 不会起作用

  • 当容器的宽度是项目的宽度的整数倍时,1fr 不会起作用

  • 当容器的宽度是项目的宽度的大于 1 的小数倍时,1fr 才会起作用

例如把上面的例子中改成:

.parent {width: 460px
}

在这里插入图片描述
每个项目宽度是 115px,被扩充了。

总结:

auto-fit 和 auto-fill 都会尝试创建尽可能多的项目,例如 460px 的容器最多可以创建 4 个最小宽度为 100px 的项目,但是 html 中只有 3 个项目,对多出的这 1 个空白项目和剩余的额外 60px 空间的处理方式就是 auto-fit 和 auto-fill 的区别

  • auto-fit 会吞并多出的空白项目,使现有项目扩展以填满所有剩余空间

  • auto-fill 会保留多出的空白项目,空白项目会占据空间,如果有剩余的额外,则所有项目会扩展以填满剩余额外空间

指定区域

grid-template-areas

可以将网格布局中的某个单元格或多个单元格定义为一个区域。

网格区域一定要形成规整的矩形区域,无论是 L 形,还是凹的或凸的形状都会认为是无效的属性值。

按固定数值划分

<template><div class="parent"><div class="box top">top</div><div class="box left">left</div><div class="box right">right</div><div class="box bottom">bottom</div></div>
</template><style scoped>
.parent {background-color: skyblue;height: 100%;display: grid;grid-template-columns: 50px auto;grid-template-rows: 70px auto 70px;grid-template-areas:"top top""left right""bottom bottom";
}.box {border: 1px solid #000;
}.top {grid-area: top;
}.left {grid-area: left;
}.right {grid-area: right;
}.bottom {grid-area: bottom;
}
</style>

在这里插入图片描述

按比例划分

<template><div class="parent"><div class="box top">top</div><div class="box left">left</div><div class="box right">right</div><div class="box bottom">bottom</div></div>
</template><style scoped>
.parent {background-color: skyblue;height: 100%;display: grid;grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr 1fr 1fr 1fr;grid-template-areas:"top top top""left right right""left right right""bottom bottom bottom";
}.box {border: 1px solid #000;
}.top {grid-area: top;
}.left {grid-area: left;
}.right {grid-area: right;
}.bottom {grid-area: bottom;
}
</style>

在这里插入图片描述

grid-tempalte

是 grid-template-rows、grid-template-columns、grid-template-areas 的三个属性的简写。

按固定数值划分

上面的按固定数值划分可以改造为:

.parent {background-color: skyblue;height: 100%;display: grid;grid-template:"top top" 70px"left right" auto"bottom bottom" 70px/ 50px auto;
}

第一行 "top top" 70px 定义了一个名为 top 的区域占据前两列,并且该区域所在行的高度为 70px。

第二行 "left right" auto 定义了一个名为 left 的区域占据第一列和一个名为 right 的区域占据第二列,并且该区域所在行的高度为 auto。

第三行 "bottom bottom" 70px 定义了一个名为 bottom 的区域占据前两列,并且该区域所在行的高度为 70px。

最后的 / 50px auto 定义了列的大小:第一列的宽度为 50px,第二列的宽度为 auto。

按比例划分

上面的按比例划分可以改造为:

.parent {background-color: skyblue;height: 100%;display: grid;grid-template:"top top top" 1fr"left right right" 1fr"left right right" 1fr"bottom bottom bottom" 1fr/ 1fr 1fr 1fr;
}

一行可以有多个不同的高度吗?例如把第一行改成 "top top top" 1fr 50px。答案是不行,会导致错乱。

点代表占位符

.parent {background-color: skyblue;height: 100%;display: grid;grid-template:"top top ." 1fr"left . ." 1fr"right . ." 1fr"bottom bottom bottom" 1fr/ 1fr 1fr 1fr;
}

在这里插入图片描述
注意:

一个元素不能同时占据多个不连续的网格区域。

也就是说 "top top ."". top . "". . top" 等等都是允许的,但是 "top . top" 是不允许的。

其实 top 对应的是一个 html 元素,它要么占据连续的区域,要么占据一个单独的单元格,它不能分裂成不连续的部分。

定义间距

行间距 row-gap

列间距 column-gap

<template><div class="parent"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div><div class="box">5</div><div class="box">6</div><div class="box">7</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: repeat(3, 1fr);column-gap: 30px;row-gap: 20px;
}.box {border: 1px solid #000;
}
</style>

在这里插入图片描述

组合定义 gap

组合写法 gap: 20px 30px; 先行(row)后列(column)

元素定位

grid-row/column-start/end

样式属性说明
grid-row-start行开始网格线
grid-row-end行结束网格线
grid-column-start列开始网格线
grid-column-end列结束网格线
属性值说明
Line网格络
span 数值网格包含的网格数量
span 区域名称网格包含到指定的区域名称
auto自动设置,默认为一个网格宽度和高度

用于指定一个网格项目的开始行(列)和结束行(列)的位置。

例如:

.grid-item1 {grid-row-start: 1; /* 从第 1 行开始 */grid-row-end: 3;   /* 到第 3 行结束(不包括第 3 行,即跨越两行) */
}.grid-item2 {grid-row-start: 1;grid-row-end: span 2; /* 从第 1 行开始,跨越 2 行 */
}

行线 1 对应第一行的上边缘
行线 2 对应第二行的上边缘
行线 3 对应第三行的上边缘

grid-row-start 通常要比 grid-row-end 小,否则会导致一些意想不到的结果。

<template><div class="parent"><div class="box box1">1</div><div class="box box2">2</div><div class="box box3">3</div><div class="box box4">4</div><div class="box box5">5</div><div class="box box6">6</div><div class="box box7">7</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: repeat(3, 1fr);gap: 20px 30px;
}.box {border: 1px solid #000;
}.box1 {grid-row-start: 1;
}
</style>

在这里插入图片描述


.box1 {grid-row-start: 2;
}

在这里插入图片描述


.box1 {grid-row-start: 3;
}

在这里插入图片描述


.box1 {grid-row-start: 4;
}

在这里插入图片描述


.box1 {grid-row-start: 1;grid-row-end: 3; /* 当该值是 1 和 2 时表现形式和默认图相同,直接从 3 开始 */
}

在这里插入图片描述


.box1 {grid-row-start: 1;grid-row-end: 4;
}

在这里插入图片描述


.box1 {grid-row-start: 1;grid-row-end: 5;
}

在这里插入图片描述


.box1 {grid-row-start: 1;grid-row-end: 6;
}

在这里插入图片描述

简写模式 grid-row、grid-column

grid-row 和 grid-column

语法:

grid-row: grid-row-start / grid-row-end;
grid-column: grid-row-column / grid-row-column;

例如:

.box1 {grid-row-start: 1;grid-row-end: 6;
}

就可以简写成

.box1 {grid-row: 1/6;
}

超级简写模式 grid-area

grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end;

网格流动 grid-auto-flow

在容器中设置 grid-auto-flow 属性可以改变单元格排列方式。

选项说明
row按行排列,默认值
column按列排序
row dense网格将尝试在行方向上尽可能紧密地放置项目,尽量不出现空格
column dense网格将尝试在列方向上紧密放置项目,尽量不出现空格
<template><div class="parent"><div class="box box1">1</div><div class="box box2">2</div><div class="box box3">3</div><div class="box box4">4</div><div class="box box5">5</div><div class="box box6">6</div><div class="box box7">7</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: repeat(3, 1fr);gap: 20px 30px;grid-auto-flow: row;
}.box {border: 1px solid #000;
}
</style>

在这里插入图片描述

grid-auto-flow: column

在这里插入图片描述

设置单元格对齐方式

justify-items

指定单元格内容的水平对齐方式

属性描述
stretch默认值,占满单元格的整个宽度
start对齐单元格的起始边缘
end对齐单元格的结束边缘
center单元格内部居中
<template><div class="parent"><div class="box box1">1</div><div class="box box2">2</div><div class="box box3">3</div><div class="box box4">4</div><div class="box box5">5</div><div class="box box6">6</div><div class="box box7">7</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: 1fr 1fr 1fr;grid-template-rows: repeat(3, 50px);gap: 20px;
}.box {border: 1px solid #000;
}
</style>

在这里插入图片描述


.parent {justify-items: start
}

在这里插入图片描述


.parent {justify-items: center
}

在这里插入图片描述


.parent {justify-items: end
}

在这里插入图片描述

align-items

指定单元格内容的垂直对齐方式

normal默认值,会根据使用场景的不同表现为 stretch 或者 start
stretch拉伸,占满单元格的整个宽度
start对齐单元格的起始边缘
end对齐单元格的结束边缘
center单元格内部居中
baseline基线对齐
.parent {align-items: normal; // 或 stretch
}

在这里插入图片描述


.parent {align-items: start;
}

在这里插入图片描述


.parent {align-items: center;
}

在这里插入图片描述


.parent {align-items: end;
}

在这里插入图片描述

place-items

是 align-items 属性和 justify-items 属性的合并简写形式。

.parent {// 先垂直方向,再水平方向place-items: start end;
}

在这里插入图片描述


IE 浏览器和 Edge 浏览器都不支持 place-items 属性。如果不考虑浏览器的兼容性,在 CSS 中实现垂直居中对齐效果的最佳方法就是使用 grid 布局的 place-items 属性:

.parent {// 如果省略第二个值,则浏览器认为与第一个值相等place-items: center;
}

在这里插入图片描述

justify-self

跟 justify-items 属性的用法完全一致,但只作用于单个项目。

.box1 {justify-self: center
}

在这里插入图片描述

align-self

跟 align-items 属性的用法完全一致,也是只作用于单个项目。

.box1 {align-self: center
}

在这里插入图片描述

place-self

是 align-self 属性和 justify-self 属性的合并简写形式,跟 place-items 属性的用法完全一致。

.box1 {place-self: center
}

在这里插入图片描述

设置容器内的对齐方式

justify-content

项目在水平方向对齐方式

align-content

项目在垂直方向对齐方式

与 flex 布局中的类似。

注意:要想 justify-content 属性和 align-content 属性起作用,就需要让项目的总尺寸小于 grid 容器的尺寸。

<template><div class="parent"><div class="box box1">1</div><div class="box box2">2</div><div class="box box3">3</div><div class="box box4">4</div><div class="box box5">5</div><div class="box box6">6</div><div class="box box7">7</div></div>
</template><style scoped>
.parent {background-color: skyblue;display: grid;grid-template-columns: repeat(3, 50px);grid-template-rows: repeat(3, 50px);gap: 20px;width: 100%;height: 300px;
}.box {border: 1px solid #000;
}
</style>

在这里插入图片描述


.parent {justify-content: space-between;
}

在这里插入图片描述

place-content

是 align-content 属性和 justify-content 属性的合并简写形式。如果省略第二个值,浏览器就会假定第二个值等于第一个值。

.parent {// 先垂直方向,再水平方向place-content: center space-between;
}

在这里插入图片描述

xxx-item 和 xxx-content 的区别

xxx-item 用于控制容器内每个项目的对齐方式。它影响的是每个单独的项目在其所在单元格内的对齐方式。

xxx-content 用于控制容器内的所有项目的对齐方式。它影响的是所有项作为一个整体如何在容器内分配空间。

参考链接:

CSS3最强布局-Grid布局

css【详解】grid布局—— 网格布局(栅格布局)

相关文章:

CSS 系列之:grid 布局

基本概念 <template><div class"parent"><div class"box">p1-1</div><div class"box">p1-2</div><div class"box">p1-3</div></div><div class"parent"><…...

DeepSeek MLA(Multi-Head Latent Attention)算法浅析

目录 前言1. 从MHA、MQA、GQA到MLA1.1 MHA1.2 瓶颈1.3 MQA1.4 GQA1.5 MLA1.5.1 Part 11.5.2 Part 21.5.3 Part 3 结语参考 前言 学习 DeepSeek 中的 MLA 模块&#xff0c;究极缝合怪&#xff0c;东抄抄西抄抄&#xff0c;主要 copy 自苏神的文章&#xff0c;仅供自己参考&#…...

【计算机网络入门】初学计算机网络(七)

目录 1. 滑动窗口机制 2. 停止等待协议&#xff08;S-W&#xff09; 2.1 滑动窗口机制 2.2 确认机制 2.3 重传机制 2.4 为什么要给帧编号 3. 后退N帧协议&#xff08;GBN&#xff09; 3.1 滑动窗口机制 3.2 确认机制 3.3 重传机制 4. 选择重传协议&#xff08;SR&a…...

Conda 环境搭建实战:从基础到进阶

在当今复杂多变的软件开发与数据科学领域&#xff0c;拥有一个稳定、可复现且易于管理的开发环境是项目成功的基石。Conda 作为一款强大的跨平台环境管理与包管理工具&#xff0c;为开发者提供了便捷高效的环境搭建与依赖管理解决方案。本文将深入探讨 Conda 环境搭建的实战技巧…...

大数据-236 离线数仓 - 会员活跃度 WDS 与 ADS 导出到 MySQL 与 广告业务 需求分析

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…...

fps项目总结:关于攻击与受击

文章目录 战斗交互攻击方命中区间 双方命中响应 攻击方&#xff1a;指定攻击动画指定动画命中区间&#xff1a;在动画中指定攻击范围以及命中响应动画通知&#xff1a;动画中攻击的开关——调用蓝图攻击函数&#xff1a;实现攻击检测以及命中响应通道检测&#xff1a;——自定义…...

coze生成的工作流,发布后,利用cmd命令行执行。可以定时发日报,周报等。让他总结你飞书里面的表格。都可以

coze生成的工作流&#xff0c;发布后&#xff0c;利用cmd命令行执行。可以定时发日报&#xff0c;周报等。让他总结你飞书里面的表格。都可以。 很简单。 准备工作&#xff0c;先发布你的工作流&#xff0c;和发布应用。 然后&#xff0c;点击扣子API 。 申请一个&#xff0…...

Windows 10 远程桌面连接使用指南

目录 一、引言 二、准备工作 1、确认系统版本 2、服务器端设置 三、客户端连接 1、打开远程桌面连接程序 2、输入连接信息 3、输入登录凭证 4、开始使用远程桌面 四、移动端连接&#xff08;以 iOS 为例&#xff09; 1、下载安装应用 2、添加远程计算机 3、进行连接…...

Difyにboto3を変更したカスタムDockerイメージの構築手順

Difyにboto3を変更したカスタムDockerイメージの構築手順 はじめに1. Dockerfileの作成2. Dockerイメージのビルド3. docker-compose.yamlの更新変更点&#xff1a; 4. コンテナの再起動注意事項まとめ はじめに DifyのDockerイメージに特定バージョンのboto3を変更する手順を…...

C++性能优化常用技巧

一. 选择合适的数据结构 1.1 map与unordered_map的选择 如果仅仅只需要使用到快速查找的特性&#xff0c;那么unordered_map更加合适&#xff0c;他的复杂度是O(1)。如果还需要排序以及范围查找的能力&#xff0c;那么就选择map。 1.2 vector与list的选择 通常情况下&#…...

IntelliJ IDEA集成MarsCode AI

IntelliJ IDEA集成MarsCode AI IDEA中安装插件 安装完毕之后登录自己的账号 点击链接&#xff0c;注册账号 https://www.marscode.cn/events/s/i5DRGqqo/ 可以选择不同的模型...

数据挖掘工程师的技术图谱和学习路径

数据挖掘工程师的技术图谱和学习路径: 1.基础知识 数据挖掘工程师是负责从大量数据中发现潜在模式、趋势和规律的专业人士。以下是数据挖掘工程师需要掌握的基础知识: 数据库知识:熟悉关系数据库和非关系数据库的基本概念和操作,掌握SQL语言。 统计学基础:了解统计学的基…...

Excel基础(详细篇):总结易忽视的知识点,有用的细节操作

目录 基础篇Excel主要功能必会快捷键LotusExcel的文件类型工作表基本操作表项操作选中与缩放边框线 自动添加边框线格式刷设置斜线表头双/多斜线表头不变形的:双/多斜线表头插入多行、多列单元格/行列的移动冻结窗口 方便查看数据打印的常见问题Excel格式数字格式日期格式文本…...

基因枷锁下的太空梦 —— 千钧一发电影观后感

目录 1 人物介绍 2 电影名解读 3 电影开头 3.1 电影开头的两段话 3.2 片头设计 4 电影正文 4.1 “杰罗米”各种诡异的行为 4.2 文森特 – 失败的man 4.3 真正的杰罗米以及假基因身份证 4.4 文森特新征程 4.5 基因人的不容易 4.6 睫毛被查出有问题 4.7 文森特身份初…...

leetcode第40题组合总和Ⅱ

原题出于leetcode第40题https://leetcode.cn/problems/combination-sum-ii/题目如下&#xff1a; 给定一个候选人编号的集合 candidates &#xff08;candidate中有重复的元素&#xff09;和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合…...

迷你世界脚本状态接口:Buff

状态接口&#xff1a;Buff 迷你世界 更新时间: 2023-04-26 20:07:54 具体函数名及描述如下: 序号 函数名 函数描述 1 addBuff(...) 给对象附加效果 2 removeBuff(...) 给对象移除指定效果 3 clearAllBuff(...) 给对象清除所有效果 4 clearAllBadBu…...

Java中Stream流的详细使用介绍

Java中Stream流的详细使用介绍 **1. 创建 Stream**从集合创建从数组创建使用 Stream.of 创建创建无限流 **2. 中间操作**过滤&#xff1a;filter映射&#xff1a;map去重&#xff1a;distinct排序&#xff1a;sorted截取&#xff1a;limit 和 skip **3. 终端操作**收集&#xf…...

【重构小程序】升级JDK1.8、SpringBoot2.x 到JDK17、Springboot 3.x(一)

前言 最近想着把大火的deepseek 迁移到小程序里&#xff0c;基于刷题小程序的数据库做一个RAG应用&#xff0c;来进一步扩展答案解析&#xff0c;帮助用户解答相关问题。但是由于之前做的项目都要老了&#xff0c;并不支持spring 的AI模块&#xff0c;因此&#xff0c;我打算先…...

功能丰富的自动化任务软件zTasker_2.1.0_绿色版_屏蔽强制更新闪退

&#x1f680; zTasker 一键式效率倍增器使用指南 &#x1f64f; 致谢 首先感谢开发者提供如此高效的工具&#xff01; 软件本身功能强大&#xff0c;但部分机制需特别注意&#xff01; &#x1f4d6; 软件概述 zTasker 是一款通过自动化脚本/任务流实现效率飞跃的生产力工…...

_ 为什么在python中可以当变量名

在 Python 中&#xff0c;_&#xff08;下划线&#xff09;是一个有效的变量名&#xff0c;这主要源于 Python 的命名规则和一些特殊的使用场景。以下是为什么 _ 可以作为变量名的原因和常见用途&#xff1a; --- ### 1. **Python 的命名规则** Python 允许使用字母&#xff…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...

未授权访问事件频发,我们应当如何应对?

在当下&#xff0c;数据已成为企业和组织的核心资产&#xff0c;是推动业务发展、决策制定以及创新的关键驱动力。然而&#xff0c;未授权访问这一隐匿的安全威胁&#xff0c;正如同高悬的达摩克利斯之剑&#xff0c;时刻威胁着数据的安全&#xff0c;一旦触发&#xff0c;便可…...