Как выровнять столбец таблицы по вертикали сверху и снизу?

..если высота столбца зависит от высоты другого столбца? Решение должно работать как минимум на IE6,7 и Mozilla.

Макет таблицы HTML:

 +------------------------+----------------------+
 | top-aligned paragraph  |     Here             |
 |                        |     is a             |
 |                        |     very             |
 |                        |     long             |
 |                        |     text             |
 |                        |     that             |
 |                        |     eventually       |
 |                        |     determines       |
 |                        |     the overall      |
 |bottom-aligned paragraph|     table height.    |
 +------------------------+----------------------+
 
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
11
0
23 915
3

Ответы 3

Самый простой способ - просто использовать vertical-align сверху и снизу в ячейках, которые вы хотите выровнять:

<table>
<tr>
<td class = "top">
<p>Top aligned paragraph</p>
</td>
<td rowspan = "2">
<p>Lorem ipsum dolor sit amet consectetuer id egestas condimentum neque elit. Non tortor tempus orci quis condimentum interdum dictum pede Duis enim. Sociis sollicitudin Nulla lacinia risus id sit odio pellentesque Vestibulum et. Ipsum pretium vestibulum et lobortis mauris semper In In id faucibus. Est Integer Curabitur dui Quisque eu habitasse Curabitur gravida vel semper. A libero vel nisl.</p>
</td>
</tr>
<tr>
<td class = "bottom">
<p>Bottom aligned paragraph</p>
</td>
</tr>
</table>

а затем CSS:

.top{
vertical-align:top;
}
.bottom{
vertical-align:bottom;
}

Копировать | Вставить

Просто хотел добавить свои 5 центов. В некоторых версиях Odoo (например, Odoo 9.0) использование «valign», но использование «vertical-align» выполнит свою работу. Спасибо за комментарий

Piotr Cierkosz 29.10.2018 19:54

Если вы не хотите использовать таблицы, вы можете сделать что-то вроде этого:

<style type = "text/css" media = "screen">
    .outer {
        position: relative;
        background-color: #EEE;
    }
    .right {
        width: 50%;
        margin-left: 50%;
        background-color: #F88;
    }
    .top,
    .bottom {
        position: absolute;
        width: 50%;
    }
    .top {
        top: 0;
        background-color: #8F8;
    }
    .bottom {
        bottom: 0;
        background-color: #88F;
    }
</style>

<div class = "outer">
    <div class = "right">Here<br>is a<br>very<br>long<br>text<br>that<br>eventually<br>determines<br>the overall<br>table height.</div>
    <div class = "top">top-aligned paragraph</div>
    <div class = "bottom">bottom-aligned paragraph</div>
</div>

Используйте атрибут rowspan (http://www.htmlcodetutorial.com/tables/index_famsupp_30.html), чтобы длинный текст (column2) занимал две строки. Затем поместите Para1 в первую строку первого столбца (выровняйте по верхнему краю), затем Para2 во второй строке первого столбца (выровняйте по низу).

--------------------------------------
|Para 1 Align Top |This is your very |                   
|                 |long text.  This  |
|                 |is your very long |
|_________________|text.             |
|                 |This is your very |
|                 |long text.  This  |
|                 |is your very long |
|Para2 align bottm|Text.             |
--------------------------------------

Другие вопросы по теме