htmlbook.ru - Для тех, кто делает сайты
Статьи Книги Шаг за шагом Рецепты Форум
Главная страница > Рецепты > Текст > Как разместить два слова на одной строке, чтобы одно...

Краткие рецепты по CSS и HTML

Как разместить два слова на одной строке, чтобы одно выравнивалось по левому краю, а второе по правому?

Для решения задачи существует несколько способов, их которых мы рассмотрим два. Первый, в каком-то смысле традиционный, основан на таблицах, а второй использует слои и стили.

Использование таблиц

Создаем таблицу с двумя ячейками шириной равной 50%. В левой ячейке по умолчанию текст будет выравниваться по левому краю, а для правой ячейки необходимо задать выравнивание по правому краю. Чтобы не возникло дополнительных отступов вокруг текста, необходимо обнулить параметры cellspacing и cellpadding у тега <TABLE>. В примере 1 показано создание таблицы, часть параметров которой задается через стили.

Пример 1. Выравнивание текста с помощью таблицы

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Два разных текста на одной строке</title>
<style type="text/css">
table.text {
width: 100%; /* Ширина таблицы */
}
table.text td {
width: 50%; /* Ширина ячеек */
vertical-align: top; /* Выравнивание по верхнему краю */
}
td.rightcol { /* Правая ячейка */
text-align: right; /* Выравнивание по правому краю */
}
</style>
</head>
<body>
<table cellpadding="0" cellspacing="0" class="text">
<tr>
<td>Текст слева</td>
<td class="rightcol">Текст справа</td>
</tr>
</table>
</body>
</html>

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

Использование стилей

Чтобы расположить два разных текста на одной строки применяется стилевой параметр float со значением left. Исходно float предназначался для создания обтекания вокруг элемента, но в последствии стал активно использоваться при верстке слоев, в частности при создании колонок. С той же целью воспользуемся им и мы. Для этого создаем два класса leftstr и rightstr, для которых установим ширину 50% и обтекание по левому краю (float: left). Выравнивание текста по правому краю для правого слоя задается стилевым атрибутом text-align со значением right (пример 2).

Пример 2. Положение текста

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Два разных текста на одной строке</title>
<style type="text/css">
p.leftstr, p.rightstr {
float: left; /* Обтекание справа */
width: 50%; /* Ширина текстового блока */
}
p.rightstr {
text-align: right; /* Выравнивание по правому краю */
}
</style>
</head>
<body>
<p class="leftstr">Строка один</p>
<p class="rightstr">Строка два</p>
<div style="clear: left"></div>
</body>
</html>

В данном примере стилевые классы leftstr и rightstr добавляются к абзацу текста. Параметр float действует не только на текущий слой, но и близлежащие к нему элементы. Поэтому после создания нужных строк следует отменить действие float с помощью атрибута clear.

Узнали для себя что-то новое из данного рецепта?

Поиск по сайту

Рецепты

Насколько известен данный рецепт

Известен (87)

Известен частично (142)

Не известен (69)

В скобках указано число ответивших людей. Статистика обновляется раз в час.

Copyright 2002–2008 Влад Мержевич, по всем вопросам пишите по адресу: vlad@htmlbook.ru

О сайте | Планы на будущее | Использование сайта | Борьба с ошибками | Технологии | Поддержать проект