В этом уроке я хочу вам рассказать как создать 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 градусов.
На этом все, в примере добавлено еще несколько интересных лент, отцентрированных по левому или правому краю, может быть полезным для выделении некоторых заголовков.
Будут вопросы или дополнение, пишите смело в комментариях.
Подскажите а как сделать пример 5 лента с лева в углу ? Только мне нужно сделать её с права в верхнем углу ?
Для размещение примера №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);
}
С 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>
<?
}
}
}
?>