Examining the code below
<div style="border:solid 5px orange;width:400px;height:400px">
<div style="display:table;border:solid 1px red;width:100%;height:100%">
<div style="display:table-row;border:solid 1px blue">
<div style="display:table-cell;border:solid 1px green;height:100%">
<div style="height:100%;background:yellow;overflow-y:auto">CONTENT
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>sss
</div>
</div>
</div>
<div style="display:table-row;border:solid 1px blue">
<div style="display:table-cell;border:solid 1px green;height:100px">
<div>INPUT</div>
</div>
</div>
</div>
In Chrome, the CONTENT area is sized correctly based on the available space for the table cell. However, Firefox and IE increase the size of the table cell to accommodate the content. Is there a way to make Firefox and IE behave like Chrome in this case?
Refer to this example on Fiddle: http://jsfiddle.net/2p6Jx/
UPDATE : I cannot use fixed height, the table should adjust according to its parent element's height and width
Update 2: By adding display:-moz-stack
, the issue was resolved in Firefox. Now, the problem remains only with IE (http://jsfiddle.net/2p6Jx/3/)