Я не знаю ASP из ESPN, но могу вам сказать, 1. разметка - это беспорядок, и 2. вы слишком продумываете CSS.
Прежде всего, первый <div>
не закрылся, но это может быть связано с тем, что вы вставили в SO. Во-вторых, три внутренних элемента имеют одинаковый идентификатор - это нет-нет. В-третьих, все ваши стили встроены, что тоже не идеально, но я предполагаю, что вы вставляете их здесь для краткости.
Ваша разметка может быть значительно упрощена:
<div id="container">
<div class="block _invisibleIfEmpty" id="block_1" name="_invisibleIfEmpty" >
Block 1 </div>
<div class="block _invisibleIfEmpty" id="block_2" name="_invisibleIfEmpty">
Block 2</div>
<div class="block _invisibleIfEmpty" id="block_3" name="_invisibleIfEmpty" >
Block 3</div>
</div>
И тогда этот CSS должен привести вас туда, где вы должны быть:
#container {
width: 1120px;
height: 100px;
}
.block {
width: 33%;
float: left;
height: 100%;
}
Вы можете настроить высоту по вкусу. Вы можете добавить значения переполнения, если хотите, но вам не нужно 'overflow: auto', потому что это значение по умолчанию в CSS. Это необходимо только в том случае, если предыдущий стиль объявляет другое значение «переполнения», и вы хотите отменить это.
PS: я проверял это, и он работает в IE7: http://jsfiddle.net/xZ2Az/1/