Я думаю, вам понадобится функция javascript, это очень уродливый пример
<div class="tab_container" id="foo">
поместите это в голову или .js
function bar(){
var i = initial height of your tab container
var x = document.getElementById('foo').offsetHeight
var y = document.getElementById('payments').offsetHeight
if(x>i){
var z= x-i;
var a = y-z;
document.getElementById('payments').height="'a'+'px'";
}
}
и просто вызовите эту функцию вметод, в котором развернут ваш контейнер вкладок, и отдельный метод для случая, когда вкладка платежа развернута.
[edit]
работает примерно, я добавил еще один IF для других вкладок, когдавыбран.Исправлено: (style.height)
function divHeight(){
var container_height = 100;
var payments_height = 247;
var x = document.getElementById('food').offsetHeight;
var y = document.getElementById('payments').offsetHeight;
if(x > container_height && y == payments_height ){
var z = x - container_height;
var a = y - z + "px";
document.getElementById('payments').style.height = a ;
}
if(x < container_height){
var a = payments_height - 12 + "px";
document.getElementById('payments').style.height = a ;
}
}
А как насчет обнаружения окна браузера и работы с блочной моделью?
(- 12 имеет дело с пэдом 5px и границей 1px)