В крайна сметка зададох свойствата за показване на някои div в един от моите дизайни съответно на таблица/клетка на таблица, за да се възползвам от поддръжката на текст за вертикално подравняване. Сега обаче имам малко празно пространство, което се боря да осмисля.
Моят код (JsFiddle: http://jsfiddle.net/p8zw2/):
HTML
<div class="container">
<p>Test</p>
<div class="mytable">
<div class="tablecell">test</div>
<div class="tablecell">test</div>
<div class="tablecell">test</div>
</div>
<p>Test</p> </div>
</div>
CSS
.container { width: 100%; background-color: #ff0000; }
.mytable { display: table; background-color: #4d4d4d; width: 94%; padding-left: 3%; padding-right: 3%; }
.tablecell { display: table-cell; width: 33%; }
Както ще видите в jsfiddle, червеният фон сега изтича в десния край, където не трябва. Подпълването на div 'mytable' е 3% от всяка страна (общо 6%), така че задаването на ширината на 94% трябва да гарантира, че запълва контейнера.
Задаването на свойството за показване обратно на „блокиране“ го кара да работи както очаквах, но след това губя функционалността си за вертикално подравняване - така че това доказва, че по един или друг начин се свежда до режима на показване на таблицата.
Опитах всякакви начини да деактивирам всички други подложки, полета и граници, които може да го причиняват, но не успях. Firebug/Chrome dev tools не хвърлят повече светлина върху проблема.
Не търся заобиколни решения (като line-height и т.н. за вертикално подравняване на текст, бих искал да опитам и да разбера какъв е проблемът с този конкретен код).
Пропуснал ли съм нещо очевидно/някакви идеи?