0
<div class="grid">
<div class="grid__item topbar"></div>
<div class="grid__item title"></div>
<div class="grid__item box1"></div>
<div class="grid__item box2"></div>
<div class="grid__item box3"></div>
<div class="grid__item box4">
<button class="add-content-btn">Add content</button>
<p>Dynamic content</p>
</div>
<div class="grid__item sidebar">
<button class="add-content-btn">Add content</button>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
<p>Dynamic content</p>
</div>
</div>
body {
padding: 16px;
}
.grid {
display: grid;
grid-gap: 10px;
grid-template-areas:
"topbar topbar"
"title sidebar"
"box1 sidebar"
"box2 sidebar"
"box3 sidebar"
"box4 sidebar";
grid-template-columns: 70% 30%;
grid-template-rows: 28px 30px 500px 50px 20px auto;
}
.grid__item {
border: 1px solid black;
}
.topbar {
grid-area: topbar;
}
.title {
grid-area: title;
}
.box1 {
grid-area: box1;
}
.box2 {
grid-area: box2;
}
.box3 {
grid-area: box3;
}
.box4 {
grid-area: box4;
padding: 10px;
}
.sidebar {
grid-area: sidebar;
overflow: scroll;
padding: 10px;
}
const btns = document.querySelectorAll('.add-content-btn');
btns.forEach(btn => {
btn.addEventListener('click', e => {
const parent = e.target.parentElement;
for (let i = 0; i < 3; i++) {
const newLine = document.createElement('p');
newLine.innerText = 'Dynamic content';
parent.append(newLine);
}
});
})
http://codepen.io/dye/pen/YVyoVd動態高度列
在這種佈局中CSS格,我有2列,可以在每個大小增長。我希望右列的高度由左列的高度來控制,但不是相反。
單擊左下角框中的「添加內容」按鈕將增大左欄和右欄。這按預期工作。
目前,點擊右欄中的「添加內容」按鈕會增大左欄。這是無意的。我希望右列的高度至多是左列的高度,並且可以滾動內容。這可能與CSS網格或我需要使用JS?
內,你可以嘗試最大高度和溢出,但規格目前還不清楚這件事,Firefox會顯示滾動,其中Chrome將不是http: //codepen.io/gc-nomade/pen/Wjryym你應該在JavaScript上進行中繼或在補充工具欄中使用絕對位置設置的額外元素http://codepen.io/gc-nomade/pen/JNGZwW這是你的答案嗎? –
緩衝解決方案看起來不錯。我會研究一下。謝謝! – dye