在 CSS 中,auto-fill 和 auto-fit 是 grid-template-columns 和 grid-template-rows 属性中的关键字,用于控制 CSS Grid 布局中的自动填充行为。尽管它们看起来相似,但作用有所不同。
auto-fill: 填满所有的可用空间,即使内容不足,可能会创建空白的轨道。
auto-fit: 只扩展实际存在内容的轨道,不会创建空白轨道。
下面是它们的详细解释:
1. auto-fill作用: auto-fill 尝试在网格容器中填充尽可能多的列(或行),即使这些列可能没有内容。行为: 如果网格容器的空间允许,它会创建额外的、空白的轨道(列或行)以填满整个容器空间。使用场景: 当你希望网格在容器中填满所有可用空间,而不关心内容的数量时使用。示例:
.grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; }
效果: 如果容器足够宽,会创建尽可能多的 100px 宽度的列。如果容器变大,则增加列的数量,并且这些列可能没有内容,最终填满整个网格容器。
2. auto-fit作用: auto-fit 与 auto-fill 相似,但有一个关键区别:auto-fit 会压缩(折叠)没有内容的列(或行),只保留填满内容的列。行为: 当容器变大时,auto-fit 会尽可能多地扩展已有的内容,但不会像 auto-fill 那样填充空白列(或行)。使用场景: 当你希望只有实际存在内容的轨道扩展并填满可用空间时使用。示例:
.grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 10px; }
效果: 在这种情况下,如果容器变大,已经存在的内容列会扩展以填满空间,但不会创建额外的空白列。未被使用的空间将留空,网格项自动调整宽度。
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?