我正在使用应用于某些div的display:table
,table-row
,table-cell
个样式。其中一个表格单元格中有一个巨大的图像。我想为单元格设置固定的宽度和高度,并使其可滚动,以便您可以在图像周围移动。
问题在于使用overflow:scroll
,甚至是overflow:hidden
,固定宽度和高度似乎不会强制表格单元格的大小。
如何强制包含图像的div为固定高度/宽度?
.table-wrap{
display:table;
}
.table-wrap > div{
display:table-row;
}
.table-wrap > div > div{
display:table-cell;
}
#map{
width:100px;
height:100px;
overflow:scroll;
}
<div id="interface">
<div class="table-wrap">
<div id="top">
<div id="map">
<img src="http://www.planwallpaper.com/static/images/ZhGEqAP.jpg">
</div>
<div id="sidebar">
sidebar
</div>
</div>
</div>
<div class="table-wrap">
<div id="bottom">
<div class="bla">
bla
</div>
<div class="bla">
bla
</div>
<div class="bla">
bla
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
由于CSS使用table algorithm
,您无法限制table-cell
内的图片,除非您直接在img
元素上提供。
我认为您最好的选择是使用position
img
作为absolute
并让它看起来像您想要的那样。
以下代码段:
.table-wrap {
display: table;
width: 100%;
}
.table-wrap > div {
display: table-row;
}
.table-wrap > div > div {
display: table-cell;
border: 1px solid;
}
#map {
width: 100px;
height: 100px;
overflow: auto;
position: relative;
}
#map img {
position: absolute;
top: 0;
left: 0;
}
&#13;
<div id="interface">
<div class="table-wrap">
<div id="top">
<div id="map">
<img src="http://www.planwallpaper.com/static/images/ZhGEqAP.jpg">
</div>
<div id="sidebar">
sidebar
</div>
</div>
</div>
<div class="table-wrap">
<div id="bottom">
<div class="bla">
bla
</div>
<div class="bla">
bla
</div>
<div class="bla">
bla
</div>
</div>
</div>
</div>
&#13;