При верстке макета сайта, кстати, совсем несложного, возник вопрос.
Заключается он в том, имеется информационная часть, разбитая на две колонки. Каждая из колонок также разделена на отдельные секции - посты. Для колонок и постов на макете задуманы дизайнером декоративные линии-разделители.
Проблемы с созданием таких линий, в принципе, нет никакой. Их можно легко создать с помощью стилевого правила
и 1
border-bottom
. Или же с помощью правил 1
border-right
и элемента 1
border-right
.1
hr
Но вопрос заключается в том, что декоративные линии на макете короче, чем высота колонки или ширина поста. То есть, получается, что
должен быть короче, чем бокс:1
border
Как же поступить в данном случае? Скажем так, обычными способами CSS решить такой вопрос невозможно. Но решение было найдено с помощью форума htmlbook.
В данном случае можно выйти из положения с помощью псевдокласса
. Для наглядности представим такой пример.1
:after
Создаем слой с контентом:
И пропишем для него стилевые правила:
Как видим, их не так уж и много. Задаем ширину блока и устанавливаем для него относительное позициоирование. Затем для созданного нами бокса создаем псевдокласс
и прописываем для него свойства:1
:after
Немного распишем, что да как в этом коде.
Внутри простого блока после его содержимого создается псевдоблок с абсолютным позиционированием, для которого устанавливаются координаты
и 1
top
(благодаря двум последним он растягивается, так как создаются верхняя и нижняя координата для границы) и для этого блока создается только левая граница 1
bottom
со свойствами: 1
border-left
.1
1px сплошного черного цвета
На этом все.