css - 调整列大小而不溢出
问题描述
我希望我的嵌入列首先以 50/50 间距开始,然后能够调整它们的大小而不会溢出包含它们的列。
我得到的是大约 20/80 的初始列,当我调整右列的大小时,它会在其封闭列之外流出,直到 if 达到其最小值。
body {
margin: 10px;
}
wrapper {
display: grid;
grid-gap: 5px;
grid-template-columns: [col] 50px [col] minmax(200px, 1fr) [col] minmax(200px, 1fr);
grid-template-rows: [row] 50px [row] minmax(250px, 1fr) [row] 25px;
width: 96vw;
height: 96vh;
background-color: #fff;
color: #444;
}
header {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 10px;
font-size: 80%;
grid-column: col / span 3;
grid-row: row;
}
tail {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 10px;
font-size: 80%;
grid-column: col 2 / span 2;
grid-row: row 3 / span 2;
}
mode {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 10px;
font-size: 80%;
grid-column: col;
grid-row: row 2 / span 3;
}
data {
grid-column: col 2 / span 2;
grid-row: row 2;
display: grid;
grid-gap: 5px;
grid-template: "left right" 1fr / min-content 1fr;
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 10px;
font-size: 80%;
}
primary {
grid-area: left;
overflow: auto;
min-width: 120px;
max-width: 80vw;
resize: horizontal;
background-color: #ccc;
color: #444;
border-radius: 5px;
padding: 10px;
font-size: 100%;
}
secondary {
grid-area: right;
overflow: auto;
min-width: 120px;
max-width: 80vw;
background-color: #ccc;
color: #444;
border-radius: 5px;
padding: 10px;
font-size: 100%;
}
<wrapper>
<header>header</header>
<mode>mode</mode>
<data>
<primary>primary data</primary>
<secondary>secondary data</secondary>
</data>
<tail>tail</tail>
</wrapper>
解决方案
我得到的是大约 20/80 的初始列...
这似乎是您为列定义的内容:
data {
display: grid;
grid-template: "left right" 1fr / min-content 1fr;
}
中的最后两个值grid-template
表示列大小。
如果你想要两列 50/50,试试这个:
data {
display: grid;
grid-template: "left right" 1fr / 1fr 1fr;
}
...并且当我调整右列的大小时,它会在其封闭列之外流出,直到达到其最小值。
好吧,您设置了最小宽度。
外部网格中最后两列的最小值为 200px:
wrapper {
display: grid;
grid-template-columns: [col] 50px [col] minmax(200px,1fr) [col] minmax(200px,1fr);
}
嵌套网格中网格区域的最小 120 像素:
primary {
grid-area: left;
min-width: 120px;
}
secondary {
grid-area: right;
min-width: 120px;
}
您希望它们在哪里溢出?
推荐阅读
- r - 在R中查找相同变量的配对值
- swift - 如何将 nib 文件中的 UITableView 加载到父视图控制器中的容器视图中?
- php - 在 Cpanel 上托管 laravel 5.7 项目时找不到接口“JsonSerializable”
- python - 如何将每组条形图居中对齐?我正在尝试创建龙卷风图
- java - teamcity - 无法构建 Maven 项目包 X 不存在
- c# - 对象引用未设置为对象的实例,它昨天工作,今天打开并抛出错误
- c# - 是否可以在不调用数据库的情况下创建空 IQueryable 的实例?
- java - 在使用 sbt 构建 scala 项目时,在类路径中包含非托管 jar
- php - How to disable button based on sql query?
- c# - Check Excel has password and prevent Prompt C#