【发布时间】:2019-03-14 20:50:43
【问题描述】:
我正在尝试制作一个 CSS Grid,当其中的元素发生变化时,它不会改变高度/宽度。我有以下代码:
<center><div class="grid-container">
<div id="item1" onmouseover="makeVisible('item1Center')" onmouseout="makeInvisible('item1Center')">Item 1
</div>
<div id="item2" onmouseover="makeVisible('item2Center')" onmouseout="makeInvisible('item2Center')">Item 2</div>
<div id="item3" onmouseover="makeVisible('item3Center')" onmouseout="makeInvisible('item3Center')">Item 3</div>
<div id="item4" onmouseover="makeVisible('item4Center')" onmouseout="makeInvisible('item4Center')">Item 4</div>
<div id="item5" onmouseover="makeVisible('item5Center')" onmouseout="makeInvisible('item5Center')">Item 5</div>
<div id="item6" onmouseover="makeVisible('item6Center')" onmouseout="makeInvisible('item6Center')">Item 6</div>
<div id="itemCenter">
<div id="item1Center" style="display: none;" onmouseover="makeVisible('item1Center')" onmouseout="makeInvisible('item1Center')">Item 1</div>
<div id="item2Center" style="display: none;" onmouseover="makeVisible('item2Center')" onmouseout="makeInvisible('item2Center')">Item 2</div>
<div id="item3Center" style="display: none;" onmouseover="makeVisible('item3Center')" onmouseout="makeInvisible('item3Center')">Item 3</div>
<div id="item4Center" style="display: none;" onmouseover="makeVisible('item4Center')" onmouseout="makeInvisible('item4Center')">Item 4</div>
<div id="item5Center" style="display: none;" onmouseover="makeVisible('item5Center')" onmouseout="makeInvisible('item5Center')">Item 5</div>
<div id="item6Center" style="display: none;" onmouseover="makeVisible('item6Center')" onmouseout="makeInvisible('item6Center')">Item 6</div>
<div id="itemPlaceholder"><img src="img/placeholder.jpg"></div>
</div>
</div></center>
我有以下处理一些悬停的脚本:
<script type="text/javascript">
function makeVisible(id) {
document.getElementById(id).style.display = 'block';
document.getElementById('itemPlaceholder').style.display = 'none';
}
function makeInvisible(id) {
document.getElementById(id).style.display = 'none';
document.getElementById('itemPlaceholder').style.display = 'block';
}
</script>
还有以下 CSS:
#item1 { grid-area: topLeft; }
#item2 { grid-area: midLeft; }
#item1 { grid-area: botLeft; }
#item1 { grid-area: topRight; }
#item1 { grid-area: midRight; }
#item1 { grid-area: botRight; }
#itemCenter { grid-area: centered; }
.grid-container {
display: grid;
grid-template-areas:
'topLeft centered centered centered topRight'
'midLeft centered centered centered midRight'
'botLeft centered centered centered botRight';
grid-gap: 5px;
padding: 10px;
width: 50vw;
height: 50vh;
}
.grid-container > div {
background-color: #E2D4B7;
text-align: center;
padding: 20px 0;
font-size: 30px;
}
我的问题是,当悬停在“item”元素上并且“mainItem”div 内的内容发生变化时,整个网格会适应它并且元素的大小会发生变化。我想让网格中的每个元素都有固定的高度和宽度,我该怎么做呢?
【问题讨论】:
标签: javascript html css css-grid