Главная » Уроки » Разноцветные ленточки в углах страницы с помощью CSS3

Разноцветные ленточки в углах страницы с помощью CSS3

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

Разноцветные ленточки в углу страницы

HTML

Для формирования ленточек, используем блочный элемент div и определим классы для дальнейшей работы со стилями в CSS. Классы corner-ribbon и sticky будут общими для всех лент, цвет и позиционирование, будут определяться отдельными классами. В наборе правил 4 варианта расположения лент, по разным углам страницы и 10 вариантов цветовой заливки.
Приведу пример расположения ленточек сразу во всех углах веб-страницы:

1
2
3
4
<div class="corner-ribbon top-left sticky red shadow">Ваш Текст!</div>
<div class="corner-ribbon top-right sticky blue">Ваш Текст!</div>
<div class="corner-ribbon bottom-left sticky orange">Ваш Текст!</div>
<div class="corner-ribbon bottom-right sticky green shadow">Ваш Текст!</div>

CSS

Прямо в коде css, прописал комментарии к селекторам, так сказать, для лучшего понимания, что куда и зачем. Подробно остановлюсь лишь на некоторых моментах.
Класс corner-ribbon общий для всех лент, в нём формируем макет, определяем абсолютное позиционирование, параметры шрифта и задаём значения трансформации под определённым углом( в примере это 45°). В классе sticky, который присутствует в каждой ленте, мы определим фиксированное позиционирование (приклеем) position: fixed;, а сторону к которой прилепим наши ленточки определяем в отдельных классах: top-left для верхнего левого угла, top-right для правого угла сверху, bottom-left и bottom-right для нижних углов соответственно.
Остаётся дело за малым, разукрасить ленточки в разные цвета. Здесь всё зависит от вашей фантазии, выбор цвета заливки и стиль ни чем не ограничен, в примере же я прописал 10 самых распространённых оттенков для фона лент, каждому цвету соответствует свой класс, white, black, grey и так далее...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* общие стили для лент */
.corner-ribbon{
  width: 200px;
  background: #e43;
  position: absolute;
  top: 25px;
  left: -50px;
  text-align: center;
  line-height: 50px;
  letter-spacing: 1px;
  color: #f0f0f0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
/* фиксируем ленточки */
.corner-ribbon.sticky{
  position: fixed; 
}
/* легкая тень */
.corner-ribbon.shadow{
  box-shadow: 0 0 3px rgba(0,0,0,.3);
}
/* позиции лент */
.corner-ribbon.top-left{ /* верхний угол слева */
  top: 25px;
  left: -50px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.corner-ribbon.top-right{ /* верхний угол справа */
  top: 25px;
  right: -50px;
  left: auto;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.corner-ribbon.bottom-left{ /* нижний угол слева */
  top: auto;
  bottom: 25px;
  left: -50px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.corner-ribbon.bottom-right{ /* нижний угол справа */
  top: auto;
  right: -50px;
  bottom: 25px;
  left: auto;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
/* выбор цвета лент */
.corner-ribbon.white{background: #f0f0f0; color: #555;}
.corner-ribbon.black{background: #333;}
.corner-ribbon.grey{background: #999;}
.corner-ribbon.blue{background: #39d;}
.corner-ribbon.green{background: #2c7;}
.corner-ribbon.turquoise{background: #1b9;}
.corner-ribbon.purple{background: #95b;}
.corner-ribbon.red{background: #e43;}
.corner-ribbon.orange{background: #e82;}
.corner-ribbon.yellow{background: #ec0;}

Форму, цвет и расположение лент на странице, вы можете выбрать любые, поэкспериментируйте с параметрами, сделайте например, фон ленточек c градиентной заливкой, используя свойства linear-gradient или radial-gradient, добавьте прозрачности, окантуйте рамкой наконец, в общем всё что угодно, лишь бы в радость))). Исходники в полном вашем распоряжении, скачивайте и вперёд — творить, творить...

С Уважением, Андрей .

Буду всем благодарен, если поделитесь ссылкой на запись в своих соц-сетях:

Google Bookmarks News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Вы можете оставить отзыв, подписаться на обновленияОбновления блога по RSSRSS или Обновления блога на TwitterTwitter !

12 комментариев
  1. ЗдОрово! Наверное так можно и блок в сообщении оформить: цитату, код, важную инфу?

    Ответить
    • driver:

      Спасибо за отзыв.

      Любой блок, цитату или важную информацию, с помощью CSS, можно оформить как угодно, в том числе и навесить такие ленточки)))

      Ответить
  2. Здравствуйте.Скопировал код css и поставил в редактор css сайта-всё содержимое отображается в верху сайта.Как исправить ошибку??

    Ответить
    • driver:

      Здравствуйте, Виталий. Я так понял, у вас ленточки остаются скрытыми содержимым сайта. Чтобы ленты отображались поверх основного содержимого, достаточно в селектор .corner-ribbon прописать свойство z-index: 10000;

      Ну и конечно же не забыть прописать в html, в разделе <body> определённый div с классом соответствующим цвету и расположению ленты.

      Для примера проделал всё это в firefox через инструменты разработчика, получилась следующая картина: Тынц

      Ответить
  3. Благодарсвую добрейший из добрейших.Ленточка появилась в углу странички.Как её прописать в блоке текст? Это значение отвечает за место размещения position:?Строго не судите наивного чайника.

    Ответить
    • driver:

      Для начала пропишите в #ugolkrug два свойства position: relative; и overflow: hidden; затем найдите класс .corner-ribbon.sticky и выставьте абсолютное позиционирование position: absolute;, а из класса .corner-ribbon исключите ненужное свойство position: static;, если и понадобится то только фиксированное позиционирование position: fixed;, как в случае размещения в углу страницы, а не в отдельно взятом блоке.

      И совсем уж не понятно, зачем вы в параграф <p></p> после текстового блока, поместили код стилей для лент, они у вас прописаны в файле style.css.

      PS: Ширину ленты можете при желании отрегулировать меняя значение в свойстве line-height: 50px;, найдёте в классе .corner-ribbon.

      Надеюсь всё у вас получится Тынц ))).

      Ответить
  4. Очень доходчиво и понятно об'ьясняете.Взгляните пж.sofmach.com/monitor_f_platyat.html" rel="nofollow">Надобно было-бы ленточку ближе к углу.Как прописать?И ещё раз спасибо.)))

    Ответить
    • driver:

      По вашей ссылке не увидел лент, смещайте ближе к углу изменяя значение left: -50px;, для начала, исходя из внесённых вами изменений, выставьте -35px примерно.

      Ответить
  5. Всё получилось!!! Красивая ленточка в уголке блока заняла своё место. Спасибо огромнейшее за помощь, которой Вы занимаетесь. Побольше-бы таких людей и мир станет лучше)))))

    Ответить
    • driver:

      Очень рад за вас) Только я, всё же представлял ленту немного в другом месте

      Ответить
  6. Александр:

    Доброго времени суток!

    Очень классные ленточки...) Вопрос такой, а точнее сразу два. Первый вопрос это как поставить ссылку на саму ленточку? Чтобы при нажатие не на текст, а на саму ленточку перебрасывало на нужную страницу.

    И второй вопрос как поставить ссылку теперь уже на сам текст таким образом чтобы не менялся цвет текста, потому как если просто обёртываешь текст ссылкой то меняется цвет текста?!

    Ответить
    • driver:

      В первом случае замените div на тег ссылки. Во втором слово обнесите ссылкой и работайте с css

      Ответить
Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, Вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге Dobrovoimaster:

  1. Во избежание захламления спамом, первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "Ваш сайт" лучше указывать ссылку на главную страницу вашего сайта/блога. Ссылки на прочую веб-лабуду (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Не используйте в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия, имя изменяю на свое усмотрение. Просьба указывать нормальное имя или ник.
  4. Скорее всего, что не информативный и короткий кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.
  5. Комментарии не по теме безжалостно удаляются.

Подписаться не комментируя

Обновления комментариев по RSS RSS комментариев к этой записи »
Рейтинг@Mail.ru