Блог Vaden Pro

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

3D ленточка CSS

Раздел: 

Наслаивание блоков и применение псевдо-3D объектов способно придать вашему сайту пространственной объемности, воздушности и глубины. Сегодня мы рассмотрим простой и эффективный способ построения 3D ленточек средствами CSS.

3D ленточка CSS

Приступаем к конструированию

Знаете, перед началом любого дела, обещающего быть интересным и принести полезные практические результаты, по коже аж мурашки пробегают от предвкушения…

Ладно, лирический отступ закончен, переходим к делу.

Допустим, у Вас есть страничка, на которой информация логически разделена на блоки при помощи подзаголовков. Для придания страничке объемности, и повышения визуальной сепарации информационных блоков, «примотаем» подзаголовки ленточками.

В качестве примера создадим HTML страничку и каскадную таблицу стилей.

HTML:

<!DOCTYPE html>
<html>
    <head>
        <title> VADEN-PRO tricks </title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" media="all" type="text/css" href="./style.css">
    </head>
    <body>
 
    </body>
</html>

Внутри тега <body></body> разместим контейнер, который будет содержать основной контент документа, и подзаголовок <h2>.

HTML:

<div class="container">
<h2> VADEN-PRO tricks</h2>
</div>

Теперь зададим базовую стилизацию.

CSS:

div {
font-size: 2em;}
 
body {
     background: black;
}
 
.container {
    width: 60%;
    height: 1280px;
    margin: 5% 20%;
    background: white;
}

Посмотрим на результат:

3D ленточка CSS

Во избежание «развала» нашей будущей конструкции при ресайзинге страницы, установим relative позиционирование.

Основная фишка нашей ленточки в том, что она как-бы обворачивает контент. Добиться такого эффекта нам помогут отрицательные значения margin.

CSS:

       h2 {position: relative;
       color: gold;
       margin: 30px -30px 30px -30px;
       padding: 10px 40px;
       background: #f72020; }

Ну вот, с базовой стилизацией закончили, и в результате имеем что-то такое:

3D ленточка CSS

Переходим к интересному

Нарисуем нашему подзаголовку h2 градиент и зададим тень при помощи box-shadow.

Исходя из цветовой схемы нашего примера, тень сделаем темно-красной.

CSS:

background-image: -moz-linear-gradient(#892b2b, #f72020);
background-image: -webkit-linear-gradient(#892b2b, #f72020);
background-image: -o-linear-gradient(rgba(#892b2b, #f72020));
background-image: -ms-linear-gradient(#892b2b, #f72020);
-moz-box-shadow: 0 3px 0 rgba(137,43,43,0.2);
-webkit-box-shadow: 0 3px 0 rgba(137,43,43,0.2);
box-shadow: 0 3px 0 rgba(137,43,43,0.2);

3D ленточка CSS

Осталось дело за малым — дорисовать завороты в виде треугольников. Для этого воспользуемся псевдоэлементами :before и :after

CSS:

h2:before, h2:after {
content: '';
position: absolute;
border-style: solid;
border-color: transparent;
bottom: -20px;
}
 
h2:before {
border-width: 0 30px 20px 0;
border-right-color: #892b2b;
left: 0;
}
 
h2:after {
border-width: 0 0 20px 30px;
border-left-color: #892b2b;
right: 0;
}

3D ленточка CSS

Для добавления плавного перегиба ленточки, снимем фаску в 4 пикселя с подзаголовка h2 ( как говорил учитель труда, "в декоративных и эргономических целях" ).

CSS:

-moz-border-radius: 4px;
border-radius: 4px;

Ну и теперь, то что не обязательно, но можно — зададим границу и тень контейнеру

CSS:

-moz-box-shadow: 3px 3px 3px rgba(137,43,43,0.2);
-webkit-box-shadow: 3px 3px 3px rgba(137,43,43,0.2);
box-shadow: 3px 3px 3px rgba(137,43,43,0.2);
border: 3px #892b2b solid;

Встречайте, наше "чудо" набросанное за 5 минут:

3D ленточка CSS

Важно!!!

  1. Кросс-браузерность. Прием отлично работает в современных браузерах, начиная с IE7, Sf4, Cr, Op10.5, Fx3.6.

    Одна маленькая неприятность поджидает нас в IE7, который не поддерживает псевдоэлементы before, after, поэтому их придется эмулировать.

  2. В отличии от метода применения ленточек-картинок:
    • у вас не возникнет проблем при изменении размеров блоков (страницы)
    • для изменения размера/цветовой схемы нужно будет всего лишь немного подправить код
    • нету картинок — нет дополнительного трафика — не теряется скорость загрузки страничек.
  3. Современность. При построении 3D-ленточек мы используем "новинки", которые пришли в web-дизайн вместе с CSS3, тем самым придерживаемся основных тенденций современного web-программирования.

P.S.

На самом деле, данный пример не является единственной возможной конфигурацией ленточки. Да и набросан он был за 5 минут.

Несколько дополнительных div-ов и немножко фантазии - и Вы сможете повторить больше половины ленточек, предложенных в популярных шаблонах Photoshop.

Творческих Вам успехов!!!