Frameworks.suFrameworks.su Шпаргалка вебмастера

  • Главная
  • Framework Kohana
  • PHP
  • Javascript
  • CSS
  • Сервисы
    • Генератор паролей
  • Контакты
Главная / CSS / Создание линейной и угловой ленты на CSS3

Создание линейной и угловой ленты на CSS3

26.04.2015 3 13500

Создание линейной и угловой ленты на CSS3

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

Рассмотрим пример №1, создание простой (линейной) ленты, она может быть полезная для выделение заголовков в Ваших новостях или блогах.

HTML

<div class="wrapper">
    <h1>Пример</h1>
</div>

Здесь мы объявили контейнер и внутри него прописали заголовок.

CSS

.wrapper {
    margin: 50px auto;
    width: 280px;
    height: 370px;
    background: white;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
    -moz-box-shadow:    0px 0px 8px rgba(0,0,0,0.3);
    box-shadow:         0px 0px 8px rgba(0,0,0,0.3);
    position: relative;
    z-index: 90;
    padding: 20px;
}

h1{
    text-align: center;
    position: relative;
    color: #5c5c5c;    
    margin: 0px -30px 30px -30px;
    padding: 10px 0;
    text-shadow: 0 1px rgba(0,0,0,1);
    background: #cccccc;
    clear: both;
}

h1:before, h1:after{
    content: '';
    position: absolute;
    border-style: solid;
    border-color: transparent;
    bottom: -10px;
}

h1:before{
    border-width: 0 10px 10px 0;
    border-right-color: #5c5c5c;
    left: 0;
}

h1:after{
    border-width: 0 0 10px 10px;
    border-left-color: #5c5c5c;
    right: 0;
}

В стилях мы центрируем текст, делаем небольшой отступ, добавляем тень и цвет фона. В псевдо-элементах :before и :after выставляем абсолютное позиционирование, добавляем border и выравниваем по левому и правому краю соответственно.

Рассмотрим пример №2, создание угловой ленты, она может быть полезной для обрамление Ваших новостей или изображений такой лентой с надписью или без.

HTML

<div class="wrapper">
    <div class="ribbon-wrapper">
        <div class="ribbon">Пример</div>
    </div>
</div>

Как и в примере №1, здесь мы объявили контейнер, а внутри него описали еще один контейнер для ленты и саму ленту. Дополнительный контейнер нам нужен для того чтобы придать ленте трапециевидную форму, обрезав ее часть.

CSS

.ribbon-wrapper {
    width: 85px;
    height: 88px;
    overflow: hidden;
    position: absolute;
    top: -3px;
    left: -4px;
}

.ribbon {
    font: bold 15px Sans-Serif;
    color: #333;
    text-align: center;
    text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
    -webkit-transform: rotate(-45deg);
    -moz-transform:    rotate(-45deg);
    -ms-transform:     rotate(-45deg);
    -o-transform:      rotate(-45deg);
    position: relative;
    padding: 7px 0;
    left: -30px;
    top: 13px;
    width: 120px;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(204,204,204,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(204,204,204,1)));
    background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
    background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
    background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
    background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
    color: #6a6340;
    -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
    -moz-box-shadow:    0px 0px 3px rgba(0,0,0,0.3);
    box-shadow:         0px 0px 3px rgba(0,0,0,0.3);
}

.ribbon:before, .ribbon:after {
    content: "";
    border-top:   3px solid #6e8900;   
    border-left:  3px solid transparent;
    border-right: 3px solid transparent;
    position:absolute;
    bottom: -3px;
}

.ribbon:before {
    left: 0;
}
.ribbon:after {
    right: 0;
}

В стилях делаем почти все тоже самое что и в примере №1, но дополнительно разворачиваем ленту на 45 градусов.

На этом все, в примере добавлено еще несколько интересных лент, отцентрированных по левому или правому краю, может быть полезным для выделении некоторых заголовков.

Будут вопросы или дополнение, пишите смело в комментариях.

Скачать рабочий пример

Теги:
  • CSS3

Комментарии

  1. Люба
    Люба
    12.03.2018 20:07

    Подскажите а как сделать пример 5 лента с лева в углу ? Только мне нужно сделать её с права в верхнем углу ?

    Ответить
    • Администратор
      Администратор
      12.03.2018 21:00

      Для размещение примера №5 справа попробуйте эти стили

      .ribbon-wrapper {
      width: 85px;
      height: 88px;
      overflow: hidden;
      position: absolute;
      top: -3px;
      right: -4px;
      }

      .ribbon {
      font: bold 15px Sans-Serif;
      color: #333;
      text-align: center;
      text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      position: relative;
      padding: 7px 0;
      left: -6px;
      top: 13px;
      width: 120px;
      background: rgb(255,255,255);
      background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(204,204,204,1) 100%);
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(204,204,204,1)));
      background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
      background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
      background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
      background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(204,204,204,1) 100%);
      color: #6a6340;
      -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
      -moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
      box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
      }

      Ответить
      • Люба
        Люба
        12.03.2018 21:24

        С scc понятно вы не подскажете как мне его внедрить вот в этот код
        фото

        Други подскажите как добавить угловую ленточку к фото на css? ни как не выходит сам код

        <? if(!$name_stranica) $kolvip=6; else $kolvip=6;
        //echo $query_vip;
        $r=mysql_query($query_vip);
        $nr=mysql_num_rows($r);
        if($nr)
        {
        $i=0;
        echo '<b style="color: #FFF; font-size: 16px;background-color: #ff0000;display: block;padding: 5px 0px; ">VIP-объявления </b><br>';
        while($rr=mysql_fetch_array($r))
        {
        $tmp_dop='';
        if($rr['f_cena_'])
        {
        if(in_array($rr['id_catalog'], $array_usd)) $valut='$'; else $valut=$rru['cena_valuta'];
        $tmp_dop = '<br>'.number_format( $rr['f_cena_'], 0, ","," ").' '.$valut;
        if($rr['suff']) $tmp_dop .= $rr['suff'];
        }
        if(file_exists($base_path.'foto_vip/'.$rr['id'].'m.jpg'))
        {
        $tmp_vip[$i] .= '<table width="240"><tr><td align=center>';
        $tmp_vip[$i] .= '<a href="'.$bp.'items/'.$rr['zag_url'].'_'.$rr['id'].'" ><img class="imground" src="'.$bp.'foto_vip/'.$rr['id'].'m.jpg" style="border: 1px solid #32CD32"></a><br>';
        $tmp_vip[$i] .= '<a href="'.$bp.'items/'.$rr['zag_url'].'_'.$rr['id'].'" >'.$rr['zag'].'</a>'.$tmp_dop;
        $tmp_vip[$i] .= '</td></tr></table>';
        }
        else
        {
        $tmp_vip[$i] .= '<table><tr><td align=center valign=middle class="imground" width="200" height="200" bgcolor="#D6D6D6">';
        $tmp_vip[$i] .= '<a href="'.$bp.'items/'.$rr['zag_url'].'_'.$rr['id'].'" >'.$rr['zag'].'</a>'.$tmp_dop.'</td></tr></table>';
        }
        $tmp_vip[$i] .= '<p>';
        $i++;
        }
        if($tmp_vip)
        {
        if(count($tmp_vip)<=$kolvip)
        {
        shuffle($tmp_vip);
        foreach($tmp_vip as $tmp_v)
        {
        echo $tmp_v;
        }
        }
        else
        {
        echo '<div id="vip"></div>';
        ?>
        <script>
        var iround = <?=intval($rru['round'])?>;
        var vip = new Array();
        <?
        foreach($tmp_vip as $index=>$tmp_v)
        {
        echo "\n vip[".$index."] = '".$tmp_v."';";
        }
        ?>
        var cou=<?=$kolvip?>;
        var txt = '';
        function toNext()
        {
        txt='';
        Array.prototype.shuffle = function( b ){ var i = this.length, j, t; while( i ) { j = Math.floor( ( i-- ) * Math.random() ); t = b && typeof this.shuffle!=='undefined' ? this.shuffle() : this; this = this[j]; this[j] = t; } return this;};
        vip.shuffle();
        for(i = 0; i < cou; i++)
        {
        txt = txt+vip;
        }
        document.getElementById('vip').innerHTML = txt;
        if(iround)
        $(".imground").corner("round");
        }
        toNext();
        function start_viget()
        {
        setInterval('toNext()',6000);
        }
        start_viget();
        </script>
        <?
        }
        }
        }
        ?>

        Ответить

    Оставить комментарий Отмена

    *

    *

    *

    *

    Категории

    • PHP
      • Framework Kohana
    • Javascript
    • CSS
    • Администрирование

    Теги

    Framework Kohana Пример jQuery Уроки CRON Установка и настройка Backup CSS3 Валидация API Bash Cache Captcha i18n Linux

    Авторизация

    • Забыли пароль?
    • Регистрация

    Популярные статьи

    • Находим расстояние до ближайших станций метро

      Находим расстояние до ближайших станций метро

      17.02.2017 102982
    • Регистрация и авторизация пользователей. Модуль Auth в Kohana 3.3.x

      Регистрация и авторизация пользователей. Модуль Auth в Kohana 3.3.x

      02.07.2014 44646
    • Собственная система лайков на PHP и JQuery

      Собственная система лайков на PHP и JQuery

      06.04.2015 33241
    • Javascript — сумма прописью

      Javascript — сумма прописью

      07.07.2014 23091
    • Cross-domain ajax с помощью jQuery

      Cross-domain ajax с помощью jQuery

      24.04.2015 19964
    Copyright © 2014-2025 Frameworks.su. Все права защищены.