Как вывести термин и определение в одну строку?
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
5.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Задача
В списке определений термин и его определение вывести на одной строке.
Решение
В списке определений термин и его определение выводятся на разных строках, но в силу удобства структуры кода список можно использовать и для других целей. Например, выводить оглавление, управлять формами, в общем, в тех случаях, когда несколько элементов выравниваются на одной строке.
Для выравнивания содержимого тегов используется свойство float со значением left, добавляемое к селектору DT. Добавляя одновременно ширину через width добиваемся того, что элементы выравниваются и по вертикали. В примере 1 создаётся форма, в которой текст и поля располагаются на одной строке. В качестве модульной сетки применяется список определений, при этом текст находится внутри тега <dt>, а поле внутри <dd>.
Пример 1. Вывод в одну строку
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Форма</title>
<style>
dt {
float: left; /* Для размещения на одной строке */
width: 100px; /* Ширина для текста */
text-align: right; /* Выравнивание по правому краю */
padding-right: 5px; /* Отступ справа */
min-height: 1px; /* Минимальная высота */
}
dd {
position: relative; /* Относительное позиционирование */
top: -1px; /* Смещаем поля вверх */
margin-bottom: 10px; /* Расстояние между строк */
}
</style>
</head>
<body>
<form>
<dl>
<dt>Имя</dt>
<dd><input name="user"></dd>
<dt>Пароль</dt>
<dd><input type="password" name="pass"></dd>
<dt></dt>
<dd><input type="submit" value="Отправить"></dd>
</dl>
</form>
</body>
</html>
Результат данного примера показан на рис. 1. Поля формы немного смещены вниз, поэтому в примере они поднимаются вверх с помощью свойства top с отрицательным значением. Минимальная высота min-height нужна для пустого тега <dt>, чтобы он занимал нужный размер.
Рис. 1. Использование списка определений для формы