Как разместить два слова на одной строке, чтобы одно выравнивалось по левому краю, а второе по правому?
🕛 22.01.2009, 23:55
Для решения задачи существует несколько способов, их которых мы рассмотрим два. Первый, в каком-то смысле традиционный, основан на таблицах, а второй использует слои и стили.Использование таблиц
Создаем таблицу с двумя ячейками шириной равной 50%. В левой ячейке по умолчанию текст будет выравниваться по левому краю, а для правой ячейки необходимо задать выравнивание по правому краю. Чтобы не возникло дополнительных отступов вокруг текста, необходимо обнулить параметры cellspacing и cellpadding у тега <TABLE>. В примере 1 показано создание таблицы, часть параметров которой задается через стили. Пример 1. Выравнивание текста с помощью таблицы HTML 4.01CSS 2.1IE 6IE 7Op 9.5Sa 3.1Ff 3.0 <!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. Положение текста
HTML 4.01CSS 2.1IE 6IE 7Op 9.5Sa 3.1Ff 3.0
<!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.