首页 > 其他分享 >网格布局自适应

网格布局自适应

时间:2023-09-25 15:55:21浏览次数:36  
标签:repeat 盒子 auto 布局 网格 适应 宽度 grid 12

需求

多个固定宽度的盒子横向排列,超过页面宽度自动换行。要求盒子间空隙自动计算,避免出现行末大幅空白现象。

分析

要求自适应,就不能给固定宽度的 margin

针对不同屏幕宽度,每行的盒子数量也不同;

因此,需要用到 repeat() 使得列宽自适应。比如:

.grid {
   display: grid;

  /* 指定网格列数:分为12个盒子 */
  grid-template-columns: repeat(12, 1fr);
}

但是如果屏幕宽度变小,分成12个盒子,就会导致盒子宽度被挤压。因此需要使用 minmax() 保证盒子的最小宽度。

grid-template-columns: repeat( 12, minmax(250px, 1fr) );

如果屏幕宽度小于 250px * 12,那么就会溢出,无法实现自动换行。因此要用到 auto-fitauto-fill

grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );

解决

给父盒子添加以下代码:

  display: grid;
  grid-gap: 15px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));

参考链接

  1. 菜鸟教程_css网格布局
  2. [译] CSS Grid 之列宽自适应:auto-fill vs auto-fit

标签:repeat,盒子,auto,布局,网格,适应,宽度,grid,12
From: https://www.cnblogs.com/shayloyuki/p/17728012.html

相关文章

  • R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据
    原文链接:http://tecdat.cn/?p=19889原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCMC)。我写了r代码来简化对任意模型的后......
  • flex布局笔记
    一、认识flex布局认识flexbox:弹性盒子是一种用于按行或按列布局元素的一维布局方法;元素可以膨胀一填充额外的空间,收缩一适应更小的空间;通常我们使用flexbox来进行布局的方案之为flex布局(flexlayout);flex布局的重要概念开启了flex布局的元素叫flexcontainerflexcontai......
  • 实现不同屏幕自适应【postcss-px-to-viewport】
    效果图未转换前:转换后:背景平常开发的时候使用px作为样式单位,但是在不同的屏幕尺寸下不能自适应,我们希望项目中所有使用到的px单位都转换成vw单位使用步骤安装npmipostcss-px-to-viewport-D在项目根目录下创建postcss.config.jsmodule.exports={plugins:{......
  • crash —— 获取物理内存布局信息
    crash>mach-mPHYSICALADDRESSRANGETYPE0000000000000000-0000000000001000E820_RESERVED0000000000001000-000000000006e000E820_RAM000000000006e000-0000000000070000E820_RESERVED0000000000070000-00000000000a0000E820_RAM0......
  • 前端的一些布局技巧
    一、当前页面无拖动的滑轮这个只需要设置占据整个页面容器的高为100vh,页面的body的margin为0就行了body{margin:0;}.最大容器类名{height:100vh;}二、flex布局display:flex就是将盒子设置成一个弹性盒子,弹性布局属性,还可以赋值block块级、inline行内等属性。......
  • 服务网格化Service mesh 学习01 架构发展历史
    一、架构发展历史......
  • 卡片列表布局
    实现代码1<template>2<div>3<!--平铺图片-->4<uiclass="course-list">5<!--设置图片宽度比例-->6<!--循环绑定数据-->7<liclass="course-item"......
  • 别再用 float 布局了,flex 才是未来!
    大家好,我是树哥!前面一篇文章整体介绍了CSS的布局知识,其中说到float布局是CSS不断完善的副产物。而在2023年的今天,flex这种布局方式才是未来!那么今天我们就来学习下flex弹性布局。什么是Flex布局?在经过了长达10年的发展之后,CSS3才终于迎来了一个简单好用的布局......
  • 【小睿的ML之路】Seaborn布局整体风格设置
    importseabornassnsimportnumpyasnpimportpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotasplt%matplotlibinlinedefsinplot(flip=1):#调用函数,flip参数可以控制曲线的翻转x=np.linspace(0,14,100)#在0-14上找到100个点foriin......
  • vue 实现input框的宽度自适应?
    要实现Vue中input框的宽度自适应,可以使用CSS的`width`属性和Vue的数据绑定来实现。下面是一个简单的示例:1.在Vue组件的模板中,使用一个div包裹input框,并为该div设置一个类名,例如:```html<template> <divclass="input-wrapper">  <inputtype="text"v-model="inputValue"> ......