Быстрая перекраска вещей на сайте

Скрипты и советы | 7 декабря 2008 4 759

Быстрая перекраска вещей на сайте


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

Здесь я покажу очень простой и незамысловатый способ быстрой перекраски, на примере iPod Shuffle.

Сразу дам ссылку на то, что должно получиться в результате: ссылка

Краткий смысл таков и всем известен:
Нужная вещь отрисовывается в фотошопе с использованием полупрозрачных градиентов на однотонном фоне. После этого все сохраняется в png и на сайте просто меняется фон посредством js. Кто все знает может дальше не читать ;)

И так начнем с отрисовки нашего iPodа как примера к идеи.

Это наше исходное изображение. Кстати для этого удобнее отрисовывать уже отрисованные картинки ;) нежели фотографии.

Быстрая перекраска вещей на сайте


В начале разбиваем его на основные элементы. Так как он прямоугольный это упрощает задачу.

Быстрая перекраска вещей на сайте


Далее пытаемся добавить такие же тени и блики как на оригинале и сделаем нормальное отражение в полу.

Быстрая перекраска вещей на сайте


Далее нарисуем кружок с кнопками. Выставляем параметры для слоя с кругом примерно как показано на скриншоте.

Быстрая перекраска вещей на сайте


Добавляем пиктограммы и собственно в данном случае все. С другими предметами все может быть куда сложнее, но смысл понятен. Самое главное следите за тем, что бы при отключении всех слоев кроме слоя с фоновым квадратом он был одного сплошного (в будущем заменяемого цвета).
А потом удаляем зеленый квадрат оставляя прозрачное место. В результате должно получиться примерно так:

Быстрая перекраска вещей на сайте


Теперь оживим это с помощью простенького js, применив для удобства jQuery.

<script type="text/javascript">function change(obj){$("ul.ChangeColor a").removeClass("act");$(obj).toggleClass("act");$("img#color").css("background",jQuery(obj).css("background"));}</script>


Далее сделаем список с нашими иконками цветов. Для примера двумя. Фон может быть как цветом так и картинкой.
<ul class="ChangeColor"><li><a style="background: #5db9b7;" onmouseover='change(this);'><img src="box.png" alt="" /></a></li><li><a style=" background: url('t1.png'); " onmouseover='change(this);'><img src="box.png" alt="" /></a></li></ul>



Сама же перекрашиваемая вещь будет такой:
<img src="form.png" id="color" alt="" style="background: #000;" />



Оформим все с помощью css. Например у меня на скорую руку вышло так:
#color {margin: 15px 0 0 0;}ul.ChangeColor {margin: 0; width: 336px; background: #f3f3f3; border: 1px solid #efefef; padding: 25px 25px 40px 25px; display: table;}ul.ChangeColor li {float: left; list-style: none; margin: 15px; width: 50px; height: 50px;}.ChangeColor a, .ChangeColor a:hover {border: 8px solid #e3e3e3; cursor: pointer; display: block; width: 50px; height: 50px;}.ChangeColor a.act, .ChangeColor a.act:hover {border: 8px solid #cdcdcd;}



Вот собственно и все. И незабуддте про укрощение png в IE6 ;) Но про это уже слишком много писали у каждого свои способы.

Так же вам могут понадобится еще уроки по отрисовке вещей. В журнале www.smashingmagazine.com есть подборка статей на эту тематику.

Немного поразмыслив вы сможете придумать кучу вариаций на тему покраски вещей и зачем это нужно ;)

спасибо за помощь kellion
UPD: Пример использования от Tvarb

Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
Web-разработка / Думай о ссылках

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

Подробнее
Как добавить OpenID на сайт

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

Подробнее
[Перевод] Стили заголовков в CSS: картинки, тени, анимации

Задача заголовка — привлекать внимание, и для этого многие эффекты хороши. В прошлый раз мы перевели статью о...

Подробнее
[Перевод] CSS: приключения в стране полупрозрачности

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

Подробнее
Почему ваш сайт резко упал в позициях Яндекса

В этой статье я объясню, почему сайт может неожиданно потерять свои позиции и оказаться в топе 20-30-50. Если позиции...

Подробнее
[Перевод] Градиентные тени на CSS

Мне часто задают вопрос: Возможно ли создать тени из градиентов, а не из сплошных цветов? В СSS не существует...

Подробнее

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

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями


  1. Полезная информация.
  2. Тоже интересненько :)