Оформление цитат в CSS

В этом уроке, мы будем оформлять блоки с цитатами. Благодаря текстурам, градиентам, теням и псевдо-элементам можно добавить немного жизни в цитаты и отзывы.

Сложность

HTML разметка

Разметка для блоков цитат:

<div class="mb-wrap mb-style-1">
<div class="mb-thumb"></div>
<blockquote cite="http://www.gutenberg.org/ebooks/1257">
<p>Never fear quarrels, but seek hazardous adventures.</p>
</blockquote>
<div class="mb-attribution">
<p class="mb-author">Alexandre Dumas</p>
<cite><a href="http://www.gutenberg.org/ebooks/1257">The Three Musketeers</a></cite>
</div>
</div>

Класс mb-thumb будет только в 3 примере у контейнера mb-attribution.

CSS

Для начала определим общие стили цитат:

@font-face {
    font-family: 'icons';
    src: url("font/icons.eot");
    src: 
        url("font/icons.eot?#iefix") format('embedded-opentype'), 
        url("font/icons.woff") format('woff'), 
        url("font/icons.ttf") format('truetype'), 
        url("font/icons.svg#icons") format('svg');
    font-weight: normal;
    font-style: normal;
}
 
.mb-wrap {
    width: 300px;
    margin: 20px auto;
    padding: 20px;
    position: relative; 
}
 
.mb-wrap p{
    margin: 0;
    padding: 0;
}
 
.mb-wrap blockquote {
    margin: 0;
    padding: 0;
    position: relative;
}
 
.mb-wrap cite {
    font-style: normal;
}

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

Пример 1

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

.mb-style-1 {
    background: #363738 url(../images/dark_leather.jpg) repeat top left;    
    margin-top: 100px;
    padding-top: 100px;
    width: 400px;
    color: #fff;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    border-top: 10px solid #fff;
}

Отодвинем миниатюру от блока на 90px. Также сделаем полупрозрачную рамку:

.mb-style-1 .mb-thumb {
    display: block;
    width: 180px;
    height: 180px;
    border: 10px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    background: url(../images/Dartagnan-musketeers.jpg) no-repeat center center;
    position: absolute;
    left: 50%;
    top: -90px;
    margin: 0 0 0 -90px;
    box-shadow: 
        inset 1px 1px 4px rgba(0,0,0,0.5),
        0 2px 3px rgba(0,0,0,0.6);
}

Чтобы добавить кавычки, используем иконочный шрифт, который мы добавили ранее, а также псевдо-классы :before и :after. Получится выгравированный стиль, так как мы задали темный цвет с легкой тенью для текста:

.mb-style-1 blockquote:before,
.mb-style-1 blockquote:after {
    font-family: 'icons';
    position: absolute;
    font-size: 70px;
    top: -95px;
    color: #242526;
    text-shadow: 0 1px 1px rgba(255,255,255,0.1);
}
 
.mb-style-1 blockquote:before{
    content: '\275d';
}
 
.mb-style-1 blockquote:after{
    right: 0px;
    content: '\e800';
}

Стиль для текста:

.mb-style-1 blockquote p {
    font-family: Cambria, Georgia, serif;
    font-style: italic;
    font-size: 25px;
    border-bottom: 1px solid rgba(0,0,0,0.5);
    box-shadow: 0 1px 0 rgba(255,255,255,0.1);
    padding: 10px 10px 20px 10px;
    text-align: center;
    margin: 0 0 20px 0;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.6);
}
 
.mb-style-1 .mb-attribution {
    text-align: right;
}
 
.mb-style-1 .mb-author{
    text-transform: uppercase;
    font-size: 20px;
    font-weight: bold;
    color: #1b1c1d;
    text-shadow: 0 1px 1px rgba(255,255,255,0.1);
}
 
.mb-style-1 cite a{
    color: #f0f0f0;
    font-style: italic;
    font-family: Cambria, Georgia, serif;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.7)
}
 
.mb-style-1 cite a:hover{
    text-shadow: 2px 2px 3px rgba(0,0,0,0.9)
}

Пример 2

Во втором примере будет необычный асимметричный стиль с полу-круглой дугой на левой стороне. Сверху мы сделаем большой круг с кавычкой. Добавим отступы к цитате что бы сместить её ниже:

.mb-style-2 blockquote{
    padding-top: 150px;
}

Стиль круга:

.mb-style-2 blockquote:after {
    font-family: 'icons';
    background: rgba(235,150,108,0.8);
    width: 130px;
    height: 130px;
    border-radius: 50%;
    content: '\275e'; 
    position: absolute;
    font-size: 70px;
    line-height: 130px;
    text-align: center;
    top: 0px;
    left: 50%;
    margin-left: -65px;
    color: rgba(255,255,255,0.5);
    text-shadow: 0 1px 1px rgba(255,255,255,0.1);
}

Расположим его горизонтально при помощи свойства left:50% и зададим отрицательное значение равное половине его ширины.

Теперь добавим полукруг при помощи псевдо-элемента, шириной и высотой в 500px, левую рамку с border-radius 50%:

.mb-style-2 blockquote:before{
    content: '';
    width: 500px;
    height: 500px;
    border-radius: 50%;
    border-left: 5px solid rgba(235,150,108,0.1);
    position: absolute;
    top: 0px;
    left: -50px;
    z-index: -1;
}

Разделим строки цитаты:

.mb-style-2 blockquote p {
    font-family: Baskerville, Georgia, serif;
    font-size: 28px;
    font-style: italic;
    background: rgba(255,255,255,0.5);
    display: inline;
    color: rgba(235,150,108,0.8);
    text-shadow: 0 1px 1px rgba(255,255,255,0.5);
    line-height: 46px;
    box-shadow: 0 -6px 0 rgba(235,150,108,0.2);
}

Стиль для текста:

.mb-style-2 .mb-attribution {
    text-align: right;
}
 
.mb-style-2 .mb-author{
    text-transform: uppercase;
    font-size: 18px;
    padding-top: 10px;
    font-weight: bold;
    color: #d48158;
    text-shadow: 0 1px 1px rgba(255,255,255,0.1);
}
 
.mb-style-2 cite a{
    color: #d7aa94;
    font-style: italic;
}
 
.mb-style-2 cite a:hover{
    color: #d48158;
}

Пример 3

Для третьего примера увеличим размера блока и установим для него тень:

.mb-style-3 {
    width: 500px;
}
 
.mb-style-3 blockquote{
    background: #fff;
    padding: 30px;
    border-radius: 5px;
    box-shadow: 
        inset 0 2px 0 rgba(188, 147, 200, 0.7), 
        -5px -4px 25px rgba(0, 0, 0, 0.3);
}

Добавим небольшую стрелку на нижней части блока:

.mb-style-3 blockquote:after, 
.mb-style-3 blockquote:before  {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
 
.mb-style-3 blockquote:after  {
    border-top-color: #ffffff;
    border-width: 10px;
    left: 65%;
    margin-left: -10px;
}
 
.mb-style-3 blockquote:before {
    border-top-color: rgba(0,0,0,0.01);
    border-width: 11px;
    left: 65%;
    margin-left: -11px;
}

У текста будет следующий стиль:

.mb-style-3 blockquote p {
    font-family: 'Alegreya', serif;
    font-size: 24px;
    color: #b4b4b4;
    font-weight: 400;
    line-height: 40px;
    font-style: italic;
    text-indent: 100px;
    position: relative;
}

Теперь, добавим кавычку с левой стороны при помощи псевдо-элемента :before:

.mb-style-3 blockquote p:before{
    content: '\201C';
    font-family: serif;
    font-style: normal;
    font-weight: 700;
    position: absolute;
    font-size: 175px;
    top: 0px;
    left: -105px;
    color: rgba(188, 147, 200, 1);
    text-shadow: 7px 14px 10px rgba(0, 0, 0, 0.1);
}

У ссылки и автора будет большой отступ справа:

.mb-style-3 .mb-attribution {
    text-align: right;
    padding: 20px 100px 20px 20px;
    position: relative;
}

Миниатюра будет небольшим кругом с изображением автора в качестве фона:

.mb-style-3 .mb-thumb {
    display: block;
    width: 70px;
    height: 70px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: url(../images/bronte.jpg) no-repeat center center;
    position: absolute;
    right: 10px;
    bottom: 5px;
    box-shadow: 
        inset 1px 1px 4px rgba(0,0,0,0.5),
        0 2px 3px rgba(0,0,0,0.6);
}

И стиль текста:

.mb-style-3 .mb-author{
    font-family: 'Alegreya SC', serif;
    font-weight: 700;
    font-size: 18px;
    color: rgba(188, 147, 200, 1);
    text-shadow: 0 1px 1px rgba(255,255,255,0.7);
}
 
.mb-style-3 cite a{
    font-family: 'Alegreya', serif;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0,0,0,0.3);
}
 
.mb-style-3 cite a:hover{
    color: rgba(188, 147, 200, 1);
    text-shadow: 0 1px 1px rgba(255,255,255,0.7);
}

Пример 4

Темное поле с большой цитатой. Изображение автора будет установлено как фон:

.mb-style-4 {
    width: 600px;
    padding: 20px 240px 50px 20px;
    background: #444 url(../images/dickens.jpg) no-repeat 140% 25%;
    overflow: hidden;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.6);
}

Для текста зададим RGBA цвет. Это позволит определить степень непрозрачности:

.mb-style-4 blockquote p {
    color: rgba(255,255,255,0.95);
    font-size: 21px;
    line-height: 26px;
    text-align: right;
    color: #999;
    text-transform: uppercase;
    font-weight: bold;
}

Для span определим специальный стиль. Повернем его и установим большой текст с различными цветами:

.mb-style-4 blockquote p span {
    font-weight: 700;
    color: #fcf779;
    font-size: 58px;
    line-height: 58px;
    display: block;
    padding: 10px;
    text-shadow: 7px 7px 2px rgba(0,0,0,0.2);
    transform: rotate(-7deg) translateY(10px);
}

Добавим кавычку из иконочного шрифта при помощи псевдо-класса :before :

.mb-style-4 blockquote p span:before {
    font-family: 'icons';
    content: '\275d'; 
    font-weight: normal;
    opacity: 0.1;
    font-size: 136px;
    position: absolute;
    color: #fff;
    top: -50px;
    left: -25px;
    transform: rotate(45deg);
}

Непрозрачность будет очень маленькой, повернем на 45 градусов.

.mb-style-4 .mb-attribution {
    text-align: right;
    text-transform: uppercase;
    font-weight: bold;
    background: #222;
    position: absolute;
    width: 100%;
    left: 0px;
    bottom: 0px;
    text-align: center;
    padding: 30px;
    transform: rotate(-40deg) translate(175px, 110px);
}

Добавим тире к автору:

.mb-style-4 .mb-author:before {
    content: '\2014';
    padding-right: 4px;
}
 
.mb-style-4 .mb-attribution cite a{
    color: #777;
}
 
.mb-style-4 .mb-attribution cite a:hover{
    color: #fcf779;
}

Пример 5

Следующий пример, это ряд кругов. Используем многократную тень для блока цитаты:

.mb-style-5 {
    width: 390px;
}
 
.mb-style-5 blockquote {
    text-align: center;
    background: #333;
    width: 350px;
    height: 350px;
    padding: 60px;
    border-radius: 50%;
    box-shadow: 
        inset 0 0 0 10px #333, 
        inset 0 0 0 12px rgba(255,255,255,0.6), 
        80px 0 0 rgba(255,255,255,0.3),
        -80px 0 0 rgba(255,255,255,0.3),
        50px 0 0 rgba(60,185,145,0.2),
        -50px 0 0 rgba(185,60,60,0.2);
}

Стиль для текста цитаты:

.mb-style-5 blockquote p {
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    padding-top: 25px;
    text-transform: uppercase;
    text-shadow: 0 0 1px #fff, 0 1px 1px #000;
    font-family: 'Annie Use Your Telescope', cursive;
}

Для того что бы отделить цитату, мы создадим элемент span и добавим отступы:

.mb-style-5 blockquote p span {
    display: block;
    position: relative;
    padding-top: 40px;
    margin-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.3);
}

Добавим небольшой круг с кавычкой:

.mb-style-5 blockquote p span:before {
    position: absolute;
    width: 50px;
    height: 50px;
    background: #ddd;
    content: "\275d";
    font-size: 40px;
    color: #333;
    top: 0px;
    left: 50%;
    margin: -25px 0 0 -25px;
    border-radius: 50%;
}

Стили для текста:

.mb-style-5 .mb-attribution {
    text-align: center;
    font-family: 'Annie Use Your Telescope', cursive;
    padding: 20px;
    font-size: 16px;
}
.mb-style-5 cite a:hover{
    color: #000;
}

Пример 6

Последний пример будет похож на Полароид фото, только там будет текст а не изображение. Блок цитаты:

.mb-style-6 {
    width: 350px;
    height: 400px;
    background: #fff;
    border-radius: 4px;
}

Далее добавим хорошие тени:

.mb-style-6:before, 
.mb-style-6:after {
    content: "";
    position: absolute;
    z-index: -2;
    transform: rotate(-3deg);
    bottom: 15px;
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
    height: 20%;
    left: 10px;
    max-height: 100px;
    max-width: 300px;
    width: 50%;
}
.mb-style-6:after {
    transform: rotate(3deg);
    left: auto;
    right: 10px;
}

У блока с цитатой будет темный фон:

.mb-style-6 blockquote{
    background: #333;
    height: 75%;
    padding: 30px;
    text-align: center;
}

Добавим кавычку с правой стороны:

.mb-style-6 blockquote:before{
    color: rgba(255,255,255,0.2);
    position: absolute;
    content: '\0022';
    font-size: 150px;
    line-height: 130px;
    font-style: italic;
    top: 0px;
    right: 20px;
    font-family: Cambria, Georgia, serif;
}

У текста будет следующий стиль:

.mb-style-6 blockquote p {
    color: #fff;
    font-family: 'Abril Fatface', sans-serif;
    font-size: 24px;
    text-shadow: 1px 1px 1px #000;
}

Стиль к дополнительным атрибутам:

.mb-style-6 .mb-attribution {
    padding: 20px;
}

Подпись автора будет немного повернута, для неё используем рукописный шрифт:

.mb-style-6 .mb-author {
    font-size: 24px;
    font-family: 'Dr Sugiyama', cursive;
    -moz-transform: rotate(-4deg);
    color: #070d5f;
}

И наконец, ссылка на цитату:

.mb-style-6 cite a{
    color: #999;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 12px;
}
.mb-style-6 cite a:hover{
    color: #000;
}

Перевод статьи Modern Block Quote Styles

Тэги: Design

Вход

Уважаемый пользователь! Мы обнаружили, что вы используете AdBlock и вынуждены скрыть часть материалов на нашем сайте. Siteacademy существует и развивается за счет доходов от рекламы. Просим внести наш сайт в список исключений или отключить Блокировщик рекламы на нашем сайте.