CSS未知高度元素过渡展开
介绍
CSS Grid(网格布局)是一种用于网页布局的二维布局系统,使得开发者可以更简单、更直观地创建复杂的布局结构。
与其他布局模型(如块级元素、内联元素、表格和Flexbox)不同,CSS Grid 是专门设计用来处理二维布局的:
也就是说,你可以同时控制一个项目(item)的行(row)和列(column)。
基本术语
- 网格(Grid)
- 网格线(Grid lines)
- 网格轨道(Grid tracks)
- 网格单元格(Grid cell)
- 网格区域(Grid areas)
- 网格间隙(Gutters)
- 网格轴(Grid Axis)
- 网格行(Grid row)
- 网格列(Grid column)
实现方式
主要利用了网格轨道的 fr
相对单位,从 0fr
过渡到 1fr
,网格元素默认要设置 min-height: 0
,且不能有 padding
这些属性否则默认会被撑高。
1 | .tips { |
1 | <button class="btn">展开</button> |
See the Pen Untitled by camo (@camoth-the-styleful) on CodePen.