У меня такой код:
<td style="position: relative; min-height: 60px; vertical-align: top;">
Contents of table cell, variable height, could be more than 60px;
<div style="position: absolute; bottom: 0px;">
Notice
</div>
</td>
Это вообще не работает. По какой-то причине команда position: relative не читается в TD, а уведомление DIV размещается за пределами контейнера содержимого внизу моей страницы. Я попытался поместить все содержимое TD в DIV, например:
<td>
<div style="position: relative; min-height: 60px; vertical-align: top;">
Contents of table cell, variable height, could be more than 60px;
<div style="position: absolute; bottom: 0px;">
Notice
</div>
</div>
</td>
Однако это создает новую проблему. Поскольку высота содержимого ячейки таблицы является переменной, DIV не всегда находится внизу ячейки. Если ячейка таблицы выходит за пределы маркера 60 пикселей, но ни одна из других ячеек этого не делает, то в других ячейках DIV будет на 60 пикселей вниз, а не внизу.
html
position
html-table
Джейсон Аксельрод
источник
источник
Ответы:
Это связано с тем, что в соответствии с CSS 2.1 влияние
position: relative
на элементы таблицы не определено. Иллюстративно этоposition: relative
имеет желаемый эффект в Chrome 13, но не в Firefox 4. Ваше решение здесь - добавитьdiv
вокруг вашего контента и поместитьposition: relative
наdiv
него вместоtd
. Следующее иллюстрирует результаты, которые вы получаете сposition: relative
(1) дляdiv
хорошего), (2) дляtd
(плохого) и, наконец, (3) дляdiv
внутреннегоtd
(снова хорошо).источник
td
внутри adiv
, установитьwidth: 100%
иheight: 100%
, применить любые отступы от td к div и установить егоrelative
? Идея состоит в том, чтобы создать тонкий содержащий слой чуть вышеtd
, который действует какtd
сам, но этоdiv
. У меня это сработало.position:relative
на внутренние части таблицы было неопределенным, это означало поведение самих частей таблицы (например, было неясно, как должныtd
вести себя границы таблицы). если он смещен черезposition:relative
в случаеborder-collapse:collapse
). Это не исключало их из возможных содержащих блоков абсолютно позиционированных потомков. Так что поведение Firefox оказалось просто ошибкой, которая была исправлена в 2014 году.Этот прием тоже подходит, но в этом случае свойства align (middle, bottom и т. Д.) Работать не будут.
источник
Содержимое ячейки таблицы переменной высоты может быть больше 60 пикселей;
источник
Что касается вашей второй попытки, вы пробовали использовать вертикальное выравнивание? Либо
или с помощью css
источник
также работает, если вы сделаете «display: block;» на тд, уничтожая тд тож, но работает!
источник