tnblog
首页
视频
资源
登录

grid 布局宽度按比例(fr)自适应布局后,让高度自适应等于宽度

270人阅读 2025/4/19 11:23 总访问:891761 评论:0 收藏:0 手机
分类: 前端

问题描述

用grid布局使用了一个3等分布局的样式,样式代码如下:

  1. .ibl-statistic-wrap {
  2. display: grid;
  3. gap: 20px;
  4. grid-template-columns: repeat(3, 1fr);
  5. }

可以宽度是可以保持3等分了,但是高度没有得到控制,如果在这种情况下,想要高度保持和高度一致,应该怎么设置样式呢

方法一:使用 align-items: stretch(推荐)

  1. .ibl-statistic-wrap {
  2. display: grid;
  3. gap: 20px;
  4. grid-template-columns: repeat(3, 1fr);
  5. align-items: stretch; /* 新增关键属性 */
  6. }
  7. /* 如果子项有内容高度差异,需要重置子项对齐方式 */
  8. .ibl-statistic-wrap > * {
  9. align-self: stretch; /* 确保子项自身也拉伸 */
  10. }

方法二:固定行高(当需要精确控制时)

  1. .ibl-statistic-wrap {
  2. display: grid;
  3. gap: 20px;
  4. grid-template-columns: repeat(3, 1fr);
  5. grid-auto-rows: 1fr; /* 新增行高定义 */
  6. align-items: stretch; /* 可选,但建议保留 */
  7. }

关键原理说明:

  1. align-items: stretch
    让子项在交叉轴(垂直方向)自动拉伸填充容器高度,这是Grid布局的默认行为,但如果有子项设置了固定高度或align-self属性会覆盖此行为。

  2. 子项重置
    如果子项内部有内容导致高度不一致(如图片、不同行数的文字),需要显式设置align-self: stretch覆盖可能存在的局部样式。

  3. grid-auto-rows: 1fr
    当需要所有行高度严格一致时(比如容器有固定高度),此属性会强制所有行等比分配容器高度。


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

EasyUI弹窗批量修改combogrid下拉框的值

JS方法//点击弹出批量修改框 UpdateLot:function(){ varrow=$("#dg").datagrid("getChecked"); if(...

WPF Datagrid表头Checkbox 全选与全反选

WPF 在使用DataGrid展示数据的时候经常会使用到checkbox列,特别是id列 例如下面这种效果:WPF 要实现DataGrid checkbox全...

jqxgrid列求和保留小数

jqxGrid自带Sum函数,在绑定数据时写上“aggregates: ['sum']”即可,例如:{text:'发票数量',datafield:&...

DevExpress gridView 列绑定带图标的按钮

1,拖一个GridControl,在Run Designer中添加列,然后找到In-place Editor Repository 添加一个ButtonEdit,如图2,添加Butto...

datagrid 中发生以下异常 system.agrument

可以使用一下DataError事件试试看还不会提示这个错误信息

winfrom datagridView监听

前言每当单元格处于编辑模式时,其托管控件正在接收KeyDown事件,而不是DataGridView包含它的父项。这就是为什么当某个单元...

DevExpress Pivotgrid导出

控件原始导出代码+效果:this.pivotGridControl1.ExportToXlsx(s.FileName)由于导出数据有折叠,不方便筛选,也不够直观,...

Easyui datagrid 编辑结束时combobox显示value而不显示text

在调用datgrid编辑结束时 $(‘#dg’).datagrid(‘endEdit’, editIndex); datagrid的combobox会显示出value, 这是因为...

vuevue3组件封装,vue组件模板。简单组件模板。基础组件模板。vue引入自定义的组件。vue使用自定义的组件。插槽slot使用。vue封装格子效果,一块一块的grid布局效果

[TOC]vue封装组件的简单模板贴一个简单模板方便自定义组件的时候直接复制 <template> <div class="app...

echarts饼图通过grid设置位置不生效。饼图设置位置

grid 记得是平面直角坐标系的意思,而仪表盘、饼图这种,是通过设置中心点位置的方式定位的。所以仪表盘、饼图这种应该这样...

使用grid布局实现每行2个,间距20px,每项占用间距之后剩下宽度的50%

如果直接这样设置: grid-template-columns: repeat(2, 50%); grid-column-gap: 20px; 他会影响整体的宽度,因为这样做...

类型“DbSet”在未引用的程序集中定义。必须添加对程序集“Entityframework Version=5.0.0.0 Culture=neutral PublicKeyToken=b7

在用mvc+ef的时候在DAL层引用上下文信息的时候会报出下面错误其实就是没得EntityFromwork,打开vs项目,点击工具,选择NuGe...

通俗易懂,什么是.NET?什么是.NET framework?什么是.NET Core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

iframe自适应高度与配合net core使用

去掉iframe边框frameborder="0"去掉滚动条scrolling="no"iframe 自适应高度如果内容是固定的,那么就...

Entity framework常用查询,EF joinEF多表联查,原生sql。EF 多表查询。AsNoTracking

直接执行sql语句//全表查询 List<Users>ulist=se.Database.SqlQuery<Users>("select*fromusers").T...
这一生多幸运赶上过你.
排名
8
文章
243
粉丝
7
评论
7
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术