Итак. Первым делом всегда внимательно анализируем HTML код, в уме прикидываем все элементы - что есть что. Смотрим на макет. Для начала я решаю оформить два блока слева - календарик с датой, и значок цитаты. Эти элементы будут абсолютно-спозиционированными, поэтому выпадут из потока.
Значит, все остальные элементы макета - тайтл, автора, ссылки и основной текст необходимо отодвинуть вправо. Также, задаём всему посту относительное позиционирование.
.post {
position: relative;
padding-left: 75px
}
Календарик. Задаём ему абсолютное позиционирование, координаты, задаём ширину, высоту, фон, нижнюю рамку, размер шрифта, его начертание, выравнивание по центру, и высоту строки, равную высоте самого блока.
.post-date {
position: absolute;
top: 0;
left: 0;
width: 55px;
height: 55px;
line-height: 55px;
border-bottom: 5px solid #bdc3c7;
background: white;
font-size: 15px;
font-weight: bold;
text-align: center;
}
Похожий блок цитаты. Также задаём абсолютное позиционирование, координаты, ширину, высоту, нижнюю рамку, фон, картинку и её расположение.
.post-type {
position: absolute;
top: 70px;
left: 0;
width: 55px;
height: 55px;
border-bottom: 5px solid #bdc3c7;
background: #7f8c8d url("/assets/course14/quotes.png") no-repeat 50% 50%;
}
Теперь идём по-порядку. Начнём с тайтла. Зададим ему размер, цвет текста, и нижний маргин.
.post-title {
font-size: 20px;
color: #2980b9;
margin-bottom: 5px;
}
Убираем у ссылок подчёркивание и задаём другой цвет.
.post a {
color: #2980b9;
text-decoration: none;
}
Чтобы быстрее и удобнее спозиционировать иконки, нужно родителю, в котором они расположены, задать относительное позиционирование. Далее, чтобы ссылки были в один ряд - задаём блочно-строчный тип, добавляем маргины и паддинги.
.post-stats {
position: relative;
display: inline-block;
margin-top: 5px;
margin-right: 10px;
padding-left: 20px;
}
Дальше идут сами иконки. Им уже задана ширина и высота 15рх. Нам же нужно будет задать им абсолютное позиционирование, и координаты. При этом они выпадают из потока, и неприятный отступ пропадает, а ссылочки подтягиваются выше - на то место, где расположены иконки(их не видно, пока не прописан путь).
.post-stats .icon {
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 15px;
}
Прописываем адреса иконок.
.icon-tags {
background: url("/assets/course14/post-challenge.png") no-repeat 0 0;
}
.icon-comments {
background: url("/assets/course14/post-challenge.png") no-repeat -20px 0;
}
Последний шаг - оформить саму цитату, основной текст. Задаём ширину блока, цвет фона, паддинги, и нижнюю границу.
.post-text {
width: 165px;
background: #ffffff;
padding: 10px 15px;
border-bottom: 5px solid #bdc3c7;
}
Поздравляю, задание выполнено на 100%.
Можно немного убрать дублирующий код, а именно вынести под общее правило ширину, высоту и нижнюю границу для двух левых блоков:
.post-date,
.post-type {
width: 55px;
height: 55px;
border-bottom: 5px solid #bdc3c7;
}
Если есть способы улучшить код, или ошибки, или вещи, за которые бьют по рукам - дайте знать, пожалуйста.