Создание объемной ленты с помощью CSS3

Многие разработчики добиваются эффекта трехмерности на своих вебсайтах, используя изображения (особенно на заднем фоне), линии и некоторые CSS техники, помогающие создать иллюзию объемного пространства. Мы постараемся это реализовать используя только CSS и HTML.

НИКАКИХ КАРТИНОК

Есть несколько свойств CSS, которые помогут нам выполнить поставленную задачу. Мы будем использовать box-shadow, для создания тени с RGBa, цветовой моделью, которая будет нормально отображаться на любом бэкграунде. RGBa – это стандартная цветовая модель RGB(0,0,0 – 255,255,255) плюс прозрачность.

background: rgba(196,89,30,0.65);
-moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
-khtml-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
-webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);

Другое свойство, которое мы будем использовать border-radius, с которым мы давно знакомы

-moz-border-radius: 10px; /*radius of 10px*/
-khtml-border-radius: 10px;
-webkit-border-radius: 10px;

Также мы будем использовать особенный бордер для создания треугольника – загиба ленты. Ниже представлен код для треугольника в виде стрелки:

.triangle {
	border-color: transparent #7d90a3 transparent transparent;
	border-style:solid;
	border-width:15px;
	height:0px;
	width:0px;
}

Итак, что мы имеем. Во-первых, заданная с помощью CSS стрелка-треугольник, являющаяся загибом ленты и тем самым придающая ей трехмерный объем. Во-вторых, box-shadow – тень нашей ленты. В-третьих, border-radius с помощью которого мы будем закруглять необходимые элементы. По картинке ниже можно проследить, как мы будем использовать CSS треугольник, тени и закругленные углы.

Теперь создадим простое меню с помощью списка, к каждому элементу которого применим свойство transform

-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);

Чтобы вы представляли как это будет выглядеть – посмотрите на конечный результат:

Весь пример состоит из двух простых файлов index.html и style.css. Вот как выглядит код HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>CSS Ribbon</title>
		<link href="style.css" rel="stylesheet" type="text/css" />
	</head>
	<body>
		<div id="container">
			<div class="menu">
				<ul>
					<li class="l1"><a href="#">CSS3</a></li>
					<li class="l2"><a href="#">может</a></li>
					<li class="l3"><a href="#">все</a></li>
				</ul>
			</div>
			<div class="bubble">
				<div class="rectangle"><h2>3D CSS Лента</h2></div>
				<div class="triangle-l"></div>
				<div class="triangle-r"></div>
				<div class="info">
					<h2>Мы использовали только CSS!</h2>
					<p>
					Для этого туториала мы использовали только свойства CSS3.
					Вы можете реализовать прекрасный 3D эффект используя только CSS,
					это просто фантастично.<br />Не работает только в IE!
					</p>
				</div>
			</div>
		</div>
	</body>
</html>

Для облегчения понимания изобразим блоки графически:

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

Удачного вам эксперимента!

Просмотров: 4133      Опубликовал: Евгений Фединчик      Дата: 21.06.2010 19:34:23
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Css техники для новичков

    CSS - простая, мощная и легкая для использования техника. Но, несмотря на свою простоту, в ней скрывается немало возможностей. Если спросить любого дизайнера, то он скажет, что основной источник проблем с кодом и их решений скрывается в CSS.

    Создание объемной ленты с помощью CSS3

    Многие разработчики добиваются эффекта трехмерности на своих вебсайтах, используя изображения (особенно на заднем фоне), линии и некоторые CSS техники, помогающие создать иллюзию объемного пространства. Мы постараемся это реализовать используя только CSS и HTML.

    Меню в стиле Mac на CSS3

    Сегодня мы предлагаем вам простой способ создать выпадающее меню в стиле Mac, используя самые известные ныне свойства CSS3: border-radius, box shadow и text-shadow.

    Создаем кнопку с помошью CSS3

    Существует огромное количество уроков по созданию красивых кнопок с помощью CSS. Как правило, вам сначала непременно надо изобразить ее в Photoshop, затем заверстать, используя изображение и какую-нибудь незамысловатую технику и, чтобы все стало совершенно неотразимым, добавить немного Javascript. Но теперь у нас есть CSS3, который на сегодняшний день поддерживается большинством браузеров и позволяет намного усовершенствовать и упростить данный процесс.

    Красивая полоса прокрутки сайта на CSS

    Стандартные полосы прокрутки (Scrollbar) на сайтах это скучно. Не так ли? Нет это совсем не так :), они (стандартные полосы прокрутки) не мазолят глаза, да и безобразного в них ничего нет. Но иногда под стиль сайта имеет смысл изменить стандартный Scrollbar. Не каждому сайту подойдет, так что не стоит этим злоупотреблять. Но все же знать как это делается я думаю нужно.

    Комментарии:

    • vl092 08.04.2012 12:45:24
      Сделал в точности по примеру методом copy-paste. В общем даже минимум не пахнет того что вы написали. Тоесть ни блоков, ни загругления ни вашей ленты. Что я делаю не так? ---- Fedora 16
      Ответить
    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa