Извините, но ваш HTML-код - ужасный беспорядок супа с тегами, напоминающий о начале 90-х.
Для вашей конкретной задачи ширина больше из-за вашего правила white-space: nowrap
, которое растягивает таблицу. И это то, что, вероятно, удаляет границы - в этих «ячейках» нет содержимого, поэтому они сжимаются до нулевой ширины.
Как сказал Робусто, если вам нужен стол, используйте стол. Если вам нужно диалоговое окно, вам определенно не нужны все эти вложенные теги div
. Просто установите свой внешний и используйте правило границы, чтобы установить границы:
<div style="border:4px solid #000; border-top:0; background:#0ff; width:152px; height:112px;">
<h2 style="background:#f00;">top</h2>
cwe cwe cwe cwe...
</div>