使用現代CSS構建響應式圖像網格
本文使用響應式圖像庫探討了掌握響應網格佈局中列之間間距的技術。
>>要進一步了解響應式佈局,請查看我們的屏幕截圖:在Flexbox中創建多列佈局。
鑰匙要點:
- 可以通過精確控制柱間間距來實現自定義響應的佈局,如響應式圖像庫所證明的那樣。
-
display: inline-block
方法創建響應式圖像庫;將父字體的大小設置為零,刪除了默認的內聯窗口間距。 >
- Flexbox有效地解決了常見的佈局問題,在所有屏幕尺寸上創建了相等的高度列,從而簡化了響應式圖像網格中的柱間間距控制。 >媒體查詢和CSS網格佈局啟用響應式圖像網格,根據設備特徵(屏幕尺寸)應用不同的CSS規則。
構建一個響應式佈局:>
在較大的屏幕上,畫廊類似於以下內容:>
<div> <a href="https://www.php.cn/link/14d2bc475177e1dde633b4ca1972d53c"> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="Using Modern CSS to Build a Responsive Image Grid " /> </a> <!-- ...more images... --> </div>
- 在中屏和較小的屏幕上的兩列佈局。
- 8px柱間間距。
使用:inline-block
方法構建畫廊。 考慮一下此CSS:display: inline-block
div { font-size: 0; } a { font-size: 16px; display: inline-block; margin-bottom: 8px; width: calc(50% - 4px); margin-right: 8px; } a:nth-of-type(2n) { margin-right: 0; } @media screen and (min-width: 50em) { a { width: calc(25% - 6px); } a:nth-of-type(2n) { margin-right: 8px; } a:nth-of-type(4n) { margin-right: 0; } }
通過將父字體大小設置為零來覆蓋
默認的內聯塊間距。 子元素字體大小可能需要重置(不在此)。>
小屏幕具有兩個列佈局,帶有8px間距。 列寬度計算:
- >每行的總列空間:1 * 8px = 8px(8px,而不是16px,因為從每個第二列中刪除了右邊緣)。
- > 列寬度:
- (4px = 8px / 2)。
calc(50% - 4px)
- >每排總列空間:3 * 8px = 24px(24px,而不是32px,因為從每個第四列中刪除了右邊緣)。
- 列寬: (6px = 24px / 4)。
- >
calc(25% - 6px)
請參閱
>
使用flexbox:
inline-block
解決方案具有缺點。 添加標題演示一個:
更新的標記:
<div> <a href="https://www.php.cn/link/14d2bc475177e1dde633b4ca1972d53c"> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="Using Modern CSS to Build a Responsive Image Grid " /> </a> <!-- ...more images... --> </div>
>帶有標題的大屏幕庫:
不相等的高度。 更新父元素的CSS:
div { font-size: 0; } a { font-size: 16px; display: inline-block; margin-bottom: 8px; width: calc(50% - 4px); margin-right: 8px; } a:nth-of-type(2n) { margin-right: 0; } @media screen and (min-width: 50em) { a { width: calc(25% - 6px); } a:nth-of-type(2n) { margin-right: 8px; } a:nth-of-type(4n) { margin-right: 0; } }
結果是在所有屏幕上相等的高度列。大屏幕示例:
>使用帶有改進字幕的Flexbox請參閱Codepen演示。
> Flexbox的屬性並未直接創建此佈局。 justify-content
>和space-between
在最後一行導致尷尬的分佈。 CSS:space-around
<div> <a href="https://www.php.cn/link/14d2bc475177e1dde633b4ca1972d53c"> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="Using Modern CSS to Build a Responsive Image Grid " /> <figcaption>Some text here</figcaption> </a> <!-- ...more images... --> </div>
需要; margin-right
處理項目分佈。 justify-content
屬性參見Codepen演示。 justify-content
結論:
>。
inline-block
calc()
在我們的屏幕截圖中了解有關Flexbox佈局的更多信息:在Flexbox中創建多列佈局。
> >(為簡潔而省略了FAQ部分,因為這是對常見響應式設計問題的重複。)
以上是使用現代CSS構建響應式圖像網格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢

在Safari中使用自定義樣式表的問題探討今天我們來探討一個關於Safari瀏覽器的自定義樣式表應用問題。前端新手...
