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布局—— 網格布局(柵格布局)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72439.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數學軟件Matlab下載|支持Win+Mac網盤資源分享

如大家所了解的&#xff0c;Matlab與Maple、Mathematica并稱為三大數學軟件。Matlab應用廣泛&#xff0c;常被用于數據分析、無線通信、深度學習、圖像處理與計算機視覺、信號處理、量化金融與風險管理、機器人&#xff0c;控制系統等領域。 Matlab將數值分析、矩陣計算、科學…

水仙花數(華為OD)

題目描述 所謂水仙花數&#xff0c;是指一個n位的正整數&#xff0c;其各位數字的n次方和等于該數本身。 例如153是水仙花數&#xff0c;153是一個3位數&#xff0c;并且153 13 53 33。 輸入描述 第一行輸入一個整數n&#xff0c;表示一個n位的正整數。n在3到7之間&#x…

物聯網同RFID功能形態 使用場景的替代品

在物聯網&#xff08;IoT&#xff09;和自動識別技術領域&#xff0c;除了RFID標簽外&#xff0c;還有一些其他技術產品可以在形態和大小上與RFID標簽相似&#xff0c;同時提供類似或更強大的功能。以下是幾種能夠替代RFID標簽的產品&#xff1a; 一、NFC標簽 NFC&#xff08;…

03.03 QT

1.在注冊登錄的練習里面&#xff0c;追加一個QListwidget 項目列表 要求:點擊注冊之后&#xff0c;將賬號顯示到 1istwidget上面去 以及&#xff0c;在listwidget中雙擊某個賬號的時候&#xff0c;將該賬號刪除 Widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWi…

c++ cout詳解

在 C++ 中,cout 是標準輸出流對象,用于向控制臺(或標準輸出設備)輸出數據。它是 iostream 庫的核心組件之一,與 << 流插入運算符配合使用。 一、基本用法 1. 頭文件和命名空間 #include <iostream> // 必須包含的頭文件 using namespace std; // 命名空間(…

深入解析 .NET Core 的應用啟動流程

隨著 .NET Core 的發展&#xff0c;它逐漸成為構建跨平臺、高性能 Web 應用的首選框架。了解 .NET Core 的應用啟動流程是開發者成功使用該框架的關鍵&#xff0c;尤其是在調試、優化和部署時。本文將深入探討 .NET Core 的應用啟動過程&#xff0c;從創建 Web 主機、配置服務、…

(十二)基于 Vue 3 和 Mapbox GL 實現的坐標拾取器組件示例

下面是一個基于 Vue 3 和 Mapbox GL 實現的坐標拾取器組件示例: <template><div class="map-container"><div ref="mapContainer" class="map"></div><div class="coordinates-box"><div v-if=&qu…

LINUX網絡基礎 - 網絡編程套接字,UDP與TCP

目錄 前言 一. 端口號的認識 1.1 端口號的作用 二. 初識TCP協議和UDP協議 2.1 TCP協議 TCP的特點 使用場景 2.2 UDP協議 UDP的特點 使用場景 2.3 TCP與UDP的對比 2.4 思考 2.5 總結 三. 網絡字節序 3.1 網絡字節序的介紹 3.2 網絡字節序思考 四. socket接口 …

歌曲分類和流行度預測

1. 項目介紹 本項目從kaggle平臺上下載了數據集&#xff0c;該數據集包含了3萬多首來自Spotify API 的歌曲&#xff0c;共有23個特征。首先對數據集進行預處理&#xff0c;如重復行、缺失值、標準化處理等。再對預處理后的數據進行探索性分析&#xff0c;觀察各變量的分布情況&…

Trae:國內首款AI原生IDE,編程效率大提升

今年一月&#xff0c;在新聞上看到字節跳動面向海外市場推出了一款名為Trae的AI集成開發環境&#xff08;IDE&#xff09;。起初&#xff0c;我并未給予過多關注&#xff0c;因為市面上已有不少IDE集成了AI插件&#xff0c;功能也非常全面&#xff0c;而字節跳動自家的MarsCode…

實訓任務1.3 使用eNSP搭建基礎網絡

目錄 1.【實訓目標】 2.【實訓內容】 1.【實訓目標】 1.掌握eNSP仿真軟件的基本操作方法。 2.掌握使用eNSP仿真軟件搭建簡單的端到端網絡的方法。 【實訓環境】 1.硬件環境&#xff1a;每人一臺配置網卡的計算機。 2.軟件環境&#xff1a;華為eNSP仿真軟件。 2.【實訓內…

藍橋杯備賽Day12 動態規劃1基礎

動態規劃 動態規劃基礎 動態規劃將復雜問題分解成很多重疊的子問題&#xff0c;再通過子問題的解得到整個問題的解 分析步驟: 確定狀態:dp[i][j]val,“到第i個為止&#xff0c;xx為j的方案數/最小代價/最大價值” 狀態轉移方程: 確定最終狀態 要求: (1)最優子結構 (2)無后效性…

mac Homebrew安裝、更新失敗

我這邊使用brew安裝git-lfs 一直報這個錯&#xff1a; curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL更新brew update也是報這個錯誤。最后使用使用大佬提供的腳本進行操作&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/mast…

簡易的微信聊天網頁版【項目測試報告】

文章目錄 一、項目背景二、項目簡介登錄功能好友列表頁面好友會話頁面 三、測試工具和環境四、測試計劃測試用例部分人工手動測試截圖web自動化測試測試用例代碼框架配置內容代碼文件&#xff08;Utils.py&#xff09;登錄頁面代碼文件&#xff08;WeChatLogin.py&#xff09;好…

【開源-鴻蒙土撥鼠大理石系統】鴻蒙 HarmonyOS Next App+微信小程序+云平臺

?本人自己開發的開源項目&#xff1a;土撥鼠充電系統 ?踩坑不易&#xff0c;還希望各位大佬支持一下&#xff0c;在GitHub給我點個 Start ??&#x1f44d;&#x1f44d; ?GitHub開源項目地址&#x1f449;&#xff1a;https://github.com/cheinlu/HarmonyOS-groundhog-mar…

如何停止Oracle expdp/impdp job

一、停止 expdp job舉例 1.執行 expdp 命令 $ expdp rui/rui DIRECTORYdmp_dir dumpfilestudyfull_expdp.dmp FULLy logfilestudyfullexpdp.log job_nameexpdp_job2.查看在運行的作業名稱 SQL> select job_name,state from dba_datapump_jobs; JOB_NAME …

深入解析SQL Server高級SQL技巧

SQL Server 是一種功能強大的關系型數據庫管理系統&#xff0c;廣泛應用于各種數據驅動的應用程序中。在開發過程中&#xff0c;掌握一些高級SQL技巧&#xff0c;不僅能提高查詢性能&#xff0c;還能優化開發效率。這篇文章將全面深入地探討SQL Server中的一些高級技巧&#xf…

ES批量查詢

在 Elasticsearch 中&#xff0c;multi_search&#xff08;也稱為 msearch&#xff09;是一種允許你在單個請求中執行多個搜索操作的 API。它可以顯著減少網絡開銷&#xff0c;尤其是在需要執行多個查詢時。multi_search 會將多個查詢打包成一個請求發送給 Elasticsearch&#…

安裝 cnpm 出現 Unsupported URL Type “npm:“: npm:string-width@^4.2.0

Unsupported URL Type "npm:": npm:string-width^4.2.0 可能是 node 版本太低了&#xff0c;需要安裝低版本的 cnpm 試試 npm cache clean --force npm config set strict-ssl false npm install -g cnpm --registryhttps://registry.npmmirror.com 改為 npm insta…

計算機基礎面試(數據庫)

1. 事務的ACID特性&#xff1f;如何通過日志保證原子性和持久性&#xff1f; 專業解答&#xff1a; ACID&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔離性&#xff08;Isolation&#xff09;、持久性&#xff08;Dura…