打开时网格项目内容 "jumps"
Grid item content "jumps" when opened
我有这样一个简单的安排。当我包含 grid-template-rows: 1fr 1fr
并打开 details
元素时,它不是向下打开,而是“跳”到它的位置。如果我设置grid-template-rows: auto
,则没有。但是如果我需要明确地设置它,如何消除这种“跳跃”以便该元素仍然可以正常打开?
main {
display: grid;
grid-template-rows: 1fr 1fr;
gap: 2px 2px;
align-items: stretch;
justify-content: stretch;
grid-auto-flow: row;
justify-content: stretch;
}
<main>
<p>Paragraph 1.</p>
<details>
<summary>Jumpy summary</summary>
<ul>
<li>Line 1.</li>
<li>Line 2.</li>
<li>Line 3.</li>
<li>Line 4.</li>
<li>Line 5.</li>
<li>Line 6.</li>
<li>Line 7.</li>
<li>Line 8.</li>
<li>Line 9.</li>
<li>Line 10.</li>
</ul>
</details>
</main>
使用 grid-template-rows: 1fr 1fr
时,您将两行设置为等高。
所以当“Jumpy summary”部分折叠时,它的高度等于段落项目。
但是当该部分展开时,段落项会展开以适应其同级项的高度。这会将 Jumpy 摘要向下移动一半。
此处详细解释了该行为:
改用grid-template-rows: auto auto
。
main {
display: grid;
grid-template-rows: auto auto;
gap: 2px 2px;
align-items: stretch;
justify-content: stretch;
grid-auto-flow: row;
justify-content: stretch;
}
<main>
<p>Paragraph 1.</p>
<details>
<summary>Jumpy summary</summary>
<ul>
<li>Line 1.</li>
<li>Line 2.</li>
<li>Line 3.</li>
<li>Line 4.</li>
<li>Line 5.</li>
<li>Line 6.</li>
<li>Line 7.</li>
<li>Line 8.</li>
<li>Line 9.</li>
<li>Line 10.</li>
</ul>
</details>
</main>
我有这样一个简单的安排。当我包含 grid-template-rows: 1fr 1fr
并打开 details
元素时,它不是向下打开,而是“跳”到它的位置。如果我设置grid-template-rows: auto
,则没有。但是如果我需要明确地设置它,如何消除这种“跳跃”以便该元素仍然可以正常打开?
main {
display: grid;
grid-template-rows: 1fr 1fr;
gap: 2px 2px;
align-items: stretch;
justify-content: stretch;
grid-auto-flow: row;
justify-content: stretch;
}
<main>
<p>Paragraph 1.</p>
<details>
<summary>Jumpy summary</summary>
<ul>
<li>Line 1.</li>
<li>Line 2.</li>
<li>Line 3.</li>
<li>Line 4.</li>
<li>Line 5.</li>
<li>Line 6.</li>
<li>Line 7.</li>
<li>Line 8.</li>
<li>Line 9.</li>
<li>Line 10.</li>
</ul>
</details>
</main>
使用 grid-template-rows: 1fr 1fr
时,您将两行设置为等高。
所以当“Jumpy summary”部分折叠时,它的高度等于段落项目。
但是当该部分展开时,段落项会展开以适应其同级项的高度。这会将 Jumpy 摘要向下移动一半。
此处详细解释了该行为:
改用grid-template-rows: auto auto
。
main {
display: grid;
grid-template-rows: auto auto;
gap: 2px 2px;
align-items: stretch;
justify-content: stretch;
grid-auto-flow: row;
justify-content: stretch;
}
<main>
<p>Paragraph 1.</p>
<details>
<summary>Jumpy summary</summary>
<ul>
<li>Line 1.</li>
<li>Line 2.</li>
<li>Line 3.</li>
<li>Line 4.</li>
<li>Line 5.</li>
<li>Line 6.</li>
<li>Line 7.</li>
<li>Line 8.</li>
<li>Line 9.</li>
<li>Line 10.</li>
</ul>
</details>
</main>