Внутри ячейки таблицы, которая выровнена по вертикали: снизу, у меня есть один или два деления. Каждое деление плавается вправо.
Предположительно, div не должны выравниваться по низу, но они делают (что я не понимаю, но это хорошо).
Однако, когда у меня в ячейке два плавающих элемента div, они выравниваются по одной верхней строке.
Я хочу, чтобы первый, меньший, div сидел полностью внизу. Другое приемлемое решение состоит в том, чтобы сделать его полной высоты ячейки таблицы.
Сложно объяснить, вот код:
<style type="text/css">
table {
border-collapse: collapse;
}
td {
border:1px solid black;
vertical-align:bottom;
}
.h {
float:right;
background: #FFFFCC;
}
.ha {
float:right;
background: #FFCCFF;
}
</style>
<table>
<tr>
<td>
<div class="ha">@</div>
<div class="h">Title Text<br />Line 2</div>
</td>
<td>
<div class="ha">@</div>
<div class="h">Title Text<br />Line 2<br />Line 3</div>
</td>
<td>
<div class="h">Title Text<br />Line 2</div>
</td>
<td>
<div class="h">Title Text<br />Line 2</div>
</td>
<td>
<div class="h">Title Text<br />Line 2</div>
</td>
</tr>
<tr>
<td>
<div class="d">123456789</div>
</td>
<td>
<div class="d">123456789</div>
</td>
<td>
<div class="d">123456789</div>
</td>
<td>
<div class="d">123456789</div>
</td>
<td>
<div class="d">123456789</div>
</td>
</tr>
</table>
Вот проблемы:
- Почему знак @ находится на том же уровне, что и желтый div?
- Предположительно, вертикальное выравнивание не применяется к элементам блока (например, с плавающим div) 1. Но это так!
- Как сделать так, чтобы @ сидел внизу или на всю высоту ячейки таблицы?
Я тестирую в IE7 и FF2. Целевая поддержка IE6 / 7, FF2 / 3.
Уточнение: Цель состоит в том, чтобы красный @ в нижней строке ячейки таблицы, рядом с желтой рамкой. Использование clear на любом div будет помещать их в разные строки.
Кроме того, ячейки могут иметь переменные строки текста - поэтому line-height не поможет.