溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在CSS網格布局中的列中填充項目

發(fā)布時間:2021-11-02 16:10:27 來源:億速云 閱讀:137 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“怎么在CSS網格布局中的列中填充項目”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么在CSS網格布局中的列中填充項目”吧!

假設我們有n  個項目,并且我們必須在網格布局中將這些項目按列排序。列數是固定的,我們還必須確保網格布局中的行數最少,以便有效填充網格。在本文中,我把數字視為項目。并且根據我們的要求在網格布局中排列1-13之間的數字。列數固定為三。我將使用  React和SCSS(Sassy CSS)對此進行演示。

如果必須按行排列,那將是非常簡單的。用CSS就可以了,代碼如下所示:

怎么在CSS網格布局中的列中填充項目

完整的代碼,包括CSS部分,如下所示:

怎么在CSS網格布局中的列中填充項目

輸出效果:

怎么在CSS網格布局中的列中填充項目

如你所見,數字按行排列。在這里,網格項目沿水平方向流動,并根據需要自動創(chuàng)建新行。當網格項目流達到列尾時,將創(chuàng)建一個新行。這也稱為行優(yōu)先排列,因為只有在前一行完全填滿時才開始下一行。

但是我們的要求是按列安排項目,所以為了按列排列項目,我們需要知道網格布局中的行數。我可以解釋為什么要需要知道行數。在逐行排列中,僅當前一行完全填滿時(即,前一行中的項目數已等于列數),才開始下一行。

類似地,在逐列排列中,只有當前一列完全填滿時(即,前一列中的項目數已等于行數),新列才開始。因此,我們需要知道行數有多少。那么問題來了,我們如何才能知道網格布局中要進行的行數呢?可以通過基本的數學學出來.....。我們現在知道了網格項目的數量,也知道列數。因此,我們要進行行數最小化可以運用此公式Math.ceil(itemsCount/columnsCount),為什么要最小化行數,因為如果我們采用更大的隨機整數作為行數,那么網格將無法有效填充,整個布局中會有一些格子沒能填充上。以下CSS代碼是按列排列的,并且由于我們必須動態(tài)的設置grid-template-rows字段,因此以下代碼中不存在該字段:

怎么在CSS網格布局中的列中填充項目

完整的代碼,包括CSS部分,如下所示:

怎么在CSS網格布局中的列中填充項目

可以看到在第16行,會計算行數。在第17行,該grid-template-rows字段是動態(tài)設置的。

怎么在CSS網格布局中的列中填充項目

在這里,你可以看到數字以固定的列數(3)按列排列。同樣,最小化的行數為五。如果行數少于五,則無法進行排列。并且如果行數大于五,則布局中將有沒填上的空白空間。僅當前一列完全填滿時,列才開始。

感謝各位的閱讀,以上就是“怎么在CSS網格布局中的列中填充項目”的內容了,經過本文的學習后,相信大家對怎么在CSS網格布局中的列中填充項目這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI