табличная ячейка выглядит как игнорирующая фиксированная ширина

0

мое строительство:

<div style="display: table;">
    <div style="display: table-cell; width: 50px; background-color: red;">a</div>
    <div style="display: table-cell; width: 100%; background-color: green;">...</div>
    <div style="display: table-cell; width: 50px; background-color: red;">a</div>
</div>

http://jsfiddle.net/5PgzT/

краевые столбцы должны оставаться на 50 пикселей шириной, все равно это похоже на то, что я ничего не установил

  • 0
    Почему бы просто не использовать стол?
Теги:

2 ответа

3
Лучший ответ

Во-первых, родительский <div> не имеет явной width Также вам, вероятно, понадобится использовать table-layout: fixed; также:

<div style="display: table; width: 100%; table-layout: fixed;">
    <div style="display: table-cell; width: 50px; background-color: red;">a</div>
    <div style="display: table-cell; width: 100%; background-color: green;">...</div>
    <div style="display: table-cell; width: 50px; background-color: red;">a</div>
</div>

РАБОЧАЯ ДЕМО

  • 1
    Или (менее элегантное решение) вы можете использовать min-width:50px вместо
2

То, что происходит здесь, является центральной табличной ячейкой, которая растягивается до 100% неопределенного значения. Попробуйте дать таблице ширину и позволить центральной ячейке сортировать себя, а не определять:

<div style="display:table; width:400px;">
    <div style="display:table-cell; width:50px; background-color: red;">&nbsp;</div>
    <div style="display:table-cell; background-color: green; width:auto;">content</div>
    <div style="display:table-cell; width:50px; background-color: red;">&nbsp;</div>
</div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню