Подтвердить что ты не робот

Использование позиции Относительная/Абсолютная в TD?

У меня есть следующий код:

<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>

Это не работает вообще. По какой-то причине позиция: относительная команда не считывается на 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 пикселей вниз, а не внизу.

4b9b3361

Ответ 1

Это связано с тем, что в соответствии с CSS 2.1 эффект position: relative на элементах таблицы undefined. Иллюстративно, что position: relative имеет желаемое влияние на Chrome 13, но не на Firefox 4. Ваше решение здесь состоит в том, чтобы добавить div вокруг вашего контента и поставить position: relative на div вместо td. Ниже проиллюстрированы результаты, полученные с помощью position: relative (1) на значении div), (2) на a td (нет хорошего) и, наконец, (3) на a div внутри a td (снова хорошо).

On Firefox 4

Для справки, здесь HTML-источник.

Ответ 2

Этот трюк также подходит, но в этом случае свойства выравнивания (средний, нижний и т.д.) не будут работать.

<td style="display: block; position: relative;">
</td>

Ответ 3

Что касается вашей второй попытки, попробовали ли вы использовать вертикальное выравнивание? Либо

<td valign="bottom">

или с помощью css

vertical-align:bottom

Ответ 4

  Содержимое ячейки таблицы, переменной высоты, может быть больше 60 пикселей,

<div style="position: absolute; bottom: 0px;">
    Notice
</div>

Ответ 5

также работает, если вы выполните "display: block;" на td, уничтожая идентификатор td, но работает!