首页 > 其他分享 >防御式CSS—网格布局中的列自动分配

防御式CSS—网格布局中的列自动分配

时间:2023-12-03 15:00:11浏览次数:38  
标签:fit auto 网格 grid 防御 minmax CSS fill

当使用CSS grid minmax() 函数时,重要的是要决定使用 auto-fit 或 auto-fill 关键字。如果使用不当,可能会导致意想不到的结果。

当使用 minmax() 函数时, auto-fit 关键字将扩展网格项以填充可用空间。而 auto-fill 将保留可用空间,而不改变网格项的宽度。

也就是说,使用 auto-fit 可能会导致网格项太宽,特别是当它们小于预期时。考虑下面的例子。

.wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 1rem;
}

如果只有一个网格项并且使用了 auto-fit ,则该项将扩展以填充容器宽度。

.wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap: 1rem;
}

标签:fit,auto,网格,grid,防御,minmax,CSS,fill
From: https://www.cnblogs.com/Jannik/p/17873196.html

相关文章

  • 防御式CSS—长文本省略
    这是一份名单,现在看起来很完美。然而,由于这是用户生成的内容,我们需要小心如何保护布局,以防内容过长。如下图所示:在这种布局中,一致性很重要。为了实现这一点,我们可以简单地使用text-overflow及其朋友来截断名称。.username{white-space:nowrap;overflow:hidden;......
  • 防御式 CSS—处理图片失真
    当我们无法控制网页上图像的长宽比时,最好提前考虑并在用户上传与长宽比不一致的图像时提供解决方案。在下面的例子中,我们有一个带有照片的卡片组件。看起来不错当用户上传不同大小的图像时,它会被拉伸。情况不妙看看图像是如何被拉伸的!最简单的解决方法是使用CSSobject-fit......
  • 防御式CSS—Flexbox 折行
    CSSflexbox是当今最有用的CSS布局功能之一。很容易将display:flex添加到包装器中,并使子项彼此相邻排序。这是一个典型的例子。我们有一组选项,应该显示在彼此旁边。.options-list{display:flex;}当空间不足时,将出现水平滚动。这应该是意料之中的,实际上并不是一个“......
  • 企业级 Web 应用里使用 CSS 调整应用外观的一些例子
    笔者在日常工作中曾经负责过一些企业级Web应用的负责和开发,也曾经指导过一些客户的二次开发人员,通过各种方式对我们发布的企业级Web应用进行一些定制开发。所谓企业级前端应用,是指为大型企业或组织开发的前端应用,这些应用具有超过一般2C软件的技术复杂度,高度定制化和可扩展......
  • CSS进阶3-transform 动画-渐变(线性渐变、镜像渐变)-关键帧
      1.动画介绍:改变盒子在平面内的形态(平移、缩放、旋转、倾斜)属性: 平移:transform:translate(值1,值2);(默认为X轴,translateY--下移) ——平移依然在原来文档流。  移动:transform:translate......
  • Highcharts饼图的主要属性和网格线属性​
    需求在Highcharts中,需要更改图表里的网格线如何去完成;在Highcharts中,你可以通过设置不同的属性来自定义你的饼图,饼图的属性于其他图表存在差别。分析饼图属性:legend.enabled:控制图例的显示与隐藏。设置为false则隐藏图例,默认为true。legend.layout:设置图例的布局方式。可......
  • CSS技巧:从高度0过渡到自动高度
    本文翻译自CSStrick:transitionfromheight0toauto!,作者:FrancescoVetere,略有删改。如果你在CSS上花了足够长的时间,很可能你曾尝试过从height:0到auto的平滑过渡。。。却发现它不起作用!......
  • css选择器
    这篇文章主要总结了css选择器的相关知识1.元素选择器<divid="container"><pclass="text"></p><h1class="titletext"></h1><div>//选中p元素p{font-size:12px;}2.群组选择器//html同上,同时选中p和h1元素p,h1{c......
  • 关于 Web 开发中的 CSS before 伪元素
    我用Chrome打开一个网页后,F12打开Chrome开发者工具,在Elements面板观察到一些DOM元素有::before,这是什么含义?在Web前端开发中,::before是CSS伪元素之一,它用于在指定元素的内容前插入生成的内容。这个伪元素允许开发者通过CSS样式向元素的前部添加额外的内容,而无需修......
  • css3 变量使用和修改变量
    <!DOCTYPEhtml><html><head><style>:root{--blue:#1e90ff;--white:#ffffff;--aa:1212121;}body{background-color:var(--blue);}h2{border-bottom:2pxsolidvar(--blue);}.container{color:var(--blue);......