瀑布流布局

瀑布流布局

创建瀑布流布局

要创建最常用的瀑布流布局,需要将列设置为网格轴,将行设置为瀑布流轴,通过 grid-template-columns 和 grid-template-rows 属性进行定义。此时容器的子元素会像常规网格布局的自动排列那样,逐行依次布局。

当元素换行时,会遵循瀑布流算法进行排列。元素将被加载到剩余空间最多的列中,最终形成一个紧密排列的布局,而不会存在固定的行轨道。

* {

box-sizing: border-box;

}

body {

font: 1.2em sans-serif;

}

.grid {

padding: 10px;

border: 2px solid #f76707;

border-radius: 5px;

background-color: #fff4e6;

}

.item {

border: 2px solid #ffa94d;

border-radius: 5px;

background-color: #ffd8a8;

color: #d9480f;

}

css.grid {

display: grid;

gap: 10px;

grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));

grid-template-rows: masonry;

}

html

js// prettier-ignore

const itemSizes = [

"2em", "3em", "1.6em", "4em", "3.2em",

"3em", "4.5em", "1em", "3.5em", "2.8em",

];

const items = document.querySelectorAll(".item");

for (let i = 0; i < items.length; i++) {

items[i].style.blockSize = itemSizes[i];

}

也可以创建按行加载元素的瀑布流布局。

js// prettier-ignore

const itemSizes = [

"2em", "3em", "1.6em", "4em", "2.2em",

"3em", "4.5em", "1em", "3.5em", "2.8em",

];

const items = document.querySelectorAll(".item");

for (let i = 0; i < items.length; i++) {

items[i].style.inlineSize = itemSizes[i];

}

css.grid {

display: grid;

gap: 10px;

grid-template-columns: masonry;

grid-template-rows: repeat(3, 100px);

}

相关推荐

Beats 精选
365bet开户官网

Beats 精选

📅 10-24 👁️ 4241
V字仇杀者布兰德价格详解
365bet体育备用网站

V字仇杀者布兰德价格详解

📅 08-24 👁️ 3879
饥荒海难虎鲨什么时候出现 虎鲨刷新规律与特性详解
365bet体育备用网站

饥荒海难虎鲨什么时候出现 虎鲨刷新规律与特性详解

📅 10-03 👁️ 1967
《哪吒2》生意经:光线传媒主导,收益或已超24亿元丨文娱变局
5種「催眠花」,美觀又好養,養在臥室,睡眠好
365bet体育备用网站

5種「催眠花」,美觀又好養,養在臥室,睡眠好

📅 10-22 👁️ 5103
南充有哪些复读机构好点的学校(南充有哪些复读机构好点的学校名单)
喷绘广告设计用什么软件?5款常用软件强力推荐
365bet体育备用网站

喷绘广告设计用什么软件?5款常用软件强力推荐

📅 08-04 👁️ 4239
​阴茎怎么快速勃起呢
365bet体育备用网站

​阴茎怎么快速勃起呢

📅 08-03 👁️ 9157
苹果手机信号不好的解决方法与影响因素解析
365bet体育备用网站

苹果手机信号不好的解决方法与影响因素解析

📅 10-31 👁️ 796