CSS3 网格布局(grid-layout)基础知识 - 弹性尺寸的定义单位:fr 简介及实例

网格布局支持弹性尺寸(flex-size),这是一个很好的自适应布局技术。

弹性尺寸使用fr尺寸单位,其来自 "fraction" 或 "fractional unit" 单词的前两个字母,表示整体空间的一部分。

比如下面的CSS规则:

grid-template-columns: 100px 1fr max-content minmax(min-content, 1fr);

表示有4列,第一列100px固定尺寸,第三列 max-content 代表刚好包含元素不溢出不换行的尺寸,剩下的2列都是弹性尺寸。

按照弹性尺寸的计算规则,两者将均分(这两列的弹性系数相等,均为1)剩下的可用空间。

完整示范代码:

#grid {
    display: grid;
    width: 100%;
    grid-template-columns: 100px 1fr max-content minmax(min-content, 1fr);
}
#areaA {
    background-color: lime;
}
#areaB {
    background-color: yellow;
}
#areaC {
    background-color: lime;
}
#areaD {
    background-color: orange;
}
#areaA {
    background-color: green;
}
div {
    height: 80px;
    line-height: 80px;
    text-align: center;
}

<div id="grid">
    <div id="title">Site Logo</div>
    <div id="score">Slogan</div>
    <div id="stats">User Zone</div>
</div>

你可以自己试试看:http://wow.techbrood.com/fiddle/15917


by iefreer


你可能感兴趣的:(html5,Flex,layout,css3,grid,size,FR)