似乎不可能让这种行为在除 Chrome 之外的其他浏览器中工作。
我尝试将图片和文本区域拆分为两个 CSS 表行以给出#images
一个高度使得#textarea-container
自动调整其高度。下一步是给文本区域 100% 的高度和 100% 的宽度。
不支持在相对定位的表格单元格中绝对定位元素:
HTML 表格内的 CSS 定位 https://stackoverflow.com/questions/1280115/css-positioning-inside-of-an-html-table
So textarea { position: absolute; left:0;right:0;bottom:0;top:0 }
在相对定位的表格单元中将不起作用。
HTML
<div id ="parent">
<div id="images">
<img src="http://www.dummyimage.com/100x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/80x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/20x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/80x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/100x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/120x20/cc5acc/fff.png" />
<img src="http://www.dummyimage.com/50x20/cc5acc/fff.png" />
</div>
<div id="textarea-container">
<textarea></textarea>
</div>
</div>
CSS
* { margin:0; padding: 0 }
#parent{
width: 400px;
height: 300px;
display: table;
background: blue;
}
#images {
display: table-row;
height: 0;
}
#textarea-container {
display: table-row;
}
textarea {
height: 100%;
width: 100%;
}
!该解决方案取决于display: table
, display: table-row
和谷歌浏览器。
现场演示(仅适用于 google chrome): http://jsfiddle.net/atTK7/4/ http://jsfiddle.net/atTK7/4/
显示表支持: http://www.quirksmode.org/css/display.html http://www.quirksmode.org/css/display.html
建议使用适用于除 Chrome 之外的浏览器的 Javascript 解决方法。