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

Линия возле текста

Влад Мержевич

Текстовая версия   Добавить комментарий

Можно по-разному привлечь внимание читателя к тексту. Например, сделать текст жирного начертания, изменить его цвет, использовать фон, нарисовать рамку. Но что если требуется не просто выделить текст, сколько отделить один текстовый блок от другого, разделить их на разные смысловые части? Вот тут использование линий и отступов просто неоценимо.

Текстовый блок на веб-странице сильно отличается от своего печатного собрата. Главным отличием является варьируемая ширина и высота текста, которые зависят от разрешения монитора, настроек операционной системы, браузера и других подобных вещей. Данные особенности придают верстке веб-страниц определенную сложность, но при этом порождают специфичные техники, которые намного упрощают процесс создания сайта. Рассмотрим, как можно использовать стили, чтобы создать произвольную линию возле текста, независимую от его размеров.

Для создания линий используется свойство CSS — border, которое устанавливает рамку вокруг блока. В частных случаях, для создания линии лишь с одной стороны элемента, используются параметры border-bottom, border-top, border-left и border-right, они соответственно задают линию внизу, сверху, слева и справа.

Значение этих атрибутов перечисляются через пробел и сразу устанавливают тип линии, ее толщину и цвет. Стиль линии может принимать одно из восьми значений, как показано на рис. 1, а толщина задается, как правило, в пикселах.

Рис. 1. Типы линий

Рис. 1. Типы линий

В примере 1 показано создание вертикальной линии рядом с текстом.

Пример 1. Вертикальная линия слева от текста

Валидный HTML
Валидный CSS
<!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.line {
 border-left: solid 2px black
; /* Линия слева от текста */
 margin-left: 20px; /* Отступ слева от края до текста */
 padding-left: 7px; /* Расстояние от линии до текста */
}
</style>


</head>
<body>

<p class="line">Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit au gue duis dolore te feugat nulla facilisi.</p>

</body>
</html>

Чтобы стиль параграфа оставить неизменным, в данном примере введен новый класс line, который устанавливает возле параграфа вертикальную линию. Данный класс, кроме того, еще задает смещение 20 пикселов от левого края окна до текста с помощью параметра margin-left и отступ от линии до текста параметром padding-left, без него текст будет соприкасаться с линией слишком плотно (рис. 1).

Рис. 1

Рис. 1. Линия возле текста

Точно также линии можно создавать для любых блочных элементов (теги <TABLE>, <P>, <DIV>), а также для встроенных элементов (тег <SPAN>), как показано в примере 2.

Пример 2. Горизонтальная линия внизу текста

Валидный HTML
<!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">
.line {
 border-bottom: 1px dotted blue;

}
</style>
</head>
<body>

<p><span class="line">Lorem ipsum dolor sit amet</span>, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>

</body>
</html>

Результат данного примера показан ниже (рис. 2).

Рис. 2

Рис. 2. Горизонтальная линия под текстом

По аналогии с примером, линии в тексте можно отрисовывать везде, где есть такая необходимость — внизу текста, вверху, справа или слева от него.

Статья опубликована: 03.10.2005 Последнее обновление: 16.04.2008

Прежде, чем писать комментарий к статье, примите во внимание следующие моменты.

  1. Не задавайте вопросы в комментариях, для этой цели предназначен форум, где вы получите нужную помощь.
  2. Удаляются любые комментарии, которые:
    • включают множество ошибок;
    • написаны безграмотно;
    • не имеют отношения к данной статье;
    • не содержат никакой полезной информации для посетителей.
  3. Для выделения отдельных слов используйте следующие команды: [b]жирный[/b], [i]курсив[/i], [color=цвет]цветной текст[/color], [tag]тег[/tag], [var]параметр[/var], [code]пример[/code].
  4. Потренироваться в написании комментариев вы можете в песочнице.

Комментарии к статье

VoxDDDx

07.02.2008

Влад проясните такой момент.
в примере 1: P.line { ...
в примере 2: .line { ...
в чем отличие?

Адик

09.02.2008

Не уверен, но наверное в первом это обозначает параграф, а во втором просто линию.

Роман

21.02.2008

Первое работает только внутри тега Р, второе - везде, где указан этот класс.

AndroidFX

19.03.2008

p.line - только для определенного тега(в данном случае <p>) можно использовать стиль
.line - для всех тегов

Например:

.line {margin-top: 5px;} можно применить в <td class="line"> или в <img class="line">

p.line {margin-top: 5px;} можно применить только в <p class="line"> в <td class="line"> работать не будет

Виктор

21.03.2008

Может и нимножко не в тему, но всегда хотел узнать, а что это за текст странный ("Lorem ipsum dolor sit amet, consectetuer..."), который я встречаю не в первый раз. Очень часто он находиться в готовых шаблонах ти т.д.

Sokos

26.03.2008

2Виктор
это, так называемая, рыба для вставки в готовый макет страницы.

http://ru.wikipedia.org/wiki/Lorem_ipsum
http://www.artlebedev.ru/kovodstvo/paragraphs/67/

Добавить комментарий

Имя
Комментарий

Сохранить имя (используется cookie)

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

Рецепты CSS
Разделы
CSS по теме

border-bottom
Параметр позволяет одновременно установить толщину, стиль и цвет границы внизу элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному атрибуту.

border-left
Параметр позволяет одновременно установить толщину, стиль и цвет левой границы элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному атрибуту.

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

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