Диагональное портфолио с вращением изображений
В данном уроке мы разберемся, как создать портфолио с вращением элементов по диагонали. С такой техникой можно построить интересный и выделяющийся интерфейс для сайта-визитки.
Разметка
Разметка должна быть минимальной настолько, насколько возможно. Нужно избегать дублирования элементов и соблюдать требования семантики.
<ul class="portfolio"> <li><img src="/lessons/les1217/img/portfolio-1.jpg" alt="Image 1"></li> <li><img src="/lessons/les1217/img/portfolio-2.jpg" alt="Image 2"></li> <li class="feature"><img src="/lessons/les1217/img/portfolio-3.jpg" alt="Image 3"></li> <li><img src="/lessons/les1217/img/portfolio-4.jpg" alt="Image 4"></li> <li><img src="/lessons/les1217/img/portfolio-5.jpg" alt="Image 5"></li> </ul>
Вот вся разметка, которая нужна для нашего урока. Это простой неупорядоченный список изображений для портфолио. Класс “feature” применяется к элементу списка для выделения текущего активного изображения. Для нашего портфолио нужны только большие формы изображений, для миниатюр будем использовать масштабирования CSS. В нашем примере используются изображения размером 600 x 300 px.
CSS
Мы построим весь дизайн и анимацию с помощью CSS, а движение будет реализовано в JavaScript. Начнем с неупорядоченного списка.
ul.portfolio{
margin: 50px auto 0;
-ms-transform:rotate(30deg);
-webkit-transform:rotate(30deg);
-moz-transform:rotate(30deg);
width: 200px;
}
Мы вращаем весь список на 30 градусов по часовой стрелке и сдвигаем его вниз от верха документа. Это будет база для вращения. Теперь перейдем к определению отдельных пунктов списка и изображениям.
ul.portfolio li{
border: 1px solid #999999;
height: 100px;
list-style:none;
margin-left: 0;
opacity: 0.5;
-webkit-transition: all 0.5s ease-in;
-moz-transition: all 0.5s ease-in;
-o-transition: all 0.5s ease-in;
width: 200px;
}
ul.portfolio li img{
height: 100px;
-webkit-transition: all 0.5s ease-in;
-moz-transition: all 0.5s ease-in;
-o-transition: all 0.5s ease-in;
width: 200px;
}
Устанавливаем ограничения для элементов списка и изображений для масштабирования. Так как уменьшенные картинки будут располагаться вне фокуса внимания, установим для них прозрачность 0.5, чтобы активное изображение выделялось еще больше. Здесь также устанавливается основа для трансформаций. Префиксы webkit, moz и o соответствуют определенным браузерам, в которых будет действовать наше портфолио. Свойство transition используется в сокращенном варианте. Устанавливаются значения для свойства, длительности и функции перехода. Значение свойства all означает, что трансформация будет проводиться для всех свойств, которые различаются у двух элементов. В нашем случае это будет касаться рамок, высоты, ширины, прозрачности и левого поля. Длительность определяет время перехода. В нашем случае все будет изменяться за полсекунды. Эффект перехода определяет функцию трансформации свойств от времени. Осталось определить свойства для активного элемента:
ul.portfolio li.feature{
border: 5px solid #dddddd;
-moz-box-shadow: 3px 3px 4px #222222;
-webkit-box-shadow: 3px 3px 4px #222222;
box-shadow: 3px 3px 4px #222222;
height: 300px;
margin-left: -200px;
opacity: 1;
position: relative;
-ms-transform: rotate(-30deg);
-webkit-transform: rotate(-30deg);
-moz-transform: rotate(-30deg);
width: 600px;
z-index: 100;
}
ul.portfolio li.feature img{
height: 300px;
width: 600px;
}
Здесь проводится определение стилей для пункта с классом “feature”, чтобы изменить наследуемые свойства и создать другую конечную точку трансформации. Отрицательно значение поворота возвращает пункт списка в горизонтальное положение. Установка высокого значения свойства z-index помещает изображение выше всех остальных в списке. Также нужно установить относительное позиционирование. Мы также увеличиваем прозрачность и размер изображения.
Теперь наш список готов для действий.
Javascript
Настала очередь для программирования перемещений. Так как трансформации определены в CSS, то нам нужно подготовить совсем немного кода jQuery для полноценной работы портфолио. Наши трансформации зависят от класса feature, поэтому мы используем jQuery, чтобы переключать класс по нажатию кнопки мыши:
$(document).ready(function(){
$('.portfolio li').click(function() {
var new_feature = $(this);
if (!new_feature.hasClass('feature')){
$('li.feature').removeClass('feature');
setTimeout(function(){
new_feature.addClass('feature');
}, 500);
}
});
});
Как только на пункте списка нажала кнопку мыши, мы первым делом проверяем, не является ли он активным в текущий момент. Если это новый пункт, то надо удалить класс feature со старого пункта. Это приведет к трансформации изображения - оно повернется и уменьшится, чтобы стать опять элементом структуры списка. Функция setTimeout служит для организации последовательных трансформаций, а не одновременных. Как только первое событие будет обработано, нажатие кнопки мыши на пункте li начнет другую трансформацию. Комбинация jQuery и CSS3 представляет собой отличную комбинацию для творчества. Можно попробовать с модификацией других свойств пункта списка, чтобы добиться различных визуальных эффектов.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/VcEuM2K5AvM/lessons.php
|
В данном уроке мы разберемся, как создать портфолио с вращением элементов по диагонали. С такой техникой можно построить интересный и выделяющийся интерфейс для сайта-визитки. РазметкаРазметка должна |
РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2026-04-17 » Дырявая воронка продаж: где вы теряете клиентов и как это лечит CRM
- 2026-04-17 » ИИ‑контент против человека: как найти золотую середину
- 2026-04-17 » Сайты 2026–2027: почему побеждают простые и быстрые
- 2026-04-17 » Формы сбора согласий на сайте
- 2026-04-17 » Безопасность сайта для малого бизнеса: что нужно знать, чтобы не взломали и не оштрафовали
- 2026-04-16 » Парадокс выбора: почему изобилие вариантов вредит вашей прибыли
- 2026-04-16 » Когнитивная перегрузка vs. UX: почему ваш сайт утомляет мозг пользователя
- 2026-04-16 » Эра Zero-Click: как генеративная выдача изменила путь клиента
- 2026-04-16 » Как адаптировать тексты на сайте под голосовой поиск
- 2026-04-16 » Почему ваш сайт тормозит — и вы теряете клиентов
- 2026-04-08 » Микрофронтенды — максимально простое объяснение
- 2026-04-08 » Чат-боты или живые менеджеры: что выбрать для эффективного продвижения в 2026 году?
- 2026-04-08 » Почему ваш сайт не видно в поисковой выдаче?
- 2026-04-08 » Персонализация в маркетинге: 7 примеров, которые работают
- 2026-04-08 » Как автоматизация маркетинга и продаж помогает компаниям расти быстрее и без хаоса
- 2026-04-01 » Как не переплатить за разработку: скрытые этапы создания сайта, о которых забывают при составлении ТЗ
- 2026-04-01 » Почему не стоит делать сайт «как у конкурента»
- 2026-04-01 » SSL сертификат для интернет‑магазина: почему экономия здесь обходится дороже
- 2026-04-01 » SEO, GEO и бренд: как строить видимость в 2026 году
- 2026-04-01 » Объективные метрики здоровья сайта, которые должен отслеживать каждый бизнес
- 2026-03-27 » Кибербезопасность для малого и среднего бизнеса в 2026 году: как не стать жертвой цифровых угроз
- 2026-03-27 » Объединяем CRM и маркетинговую автоматизацию: как создать единую систему продаж
- 2026-03-27 » Дизайн не главное? Почему сайт теряет клиентов, даже если вы уверены в обратном
- 2026-03-27 » SEO умерло — да здравствует SEO! Как нейросети перестроили поиск
- 2026-03-27 » Почему сайт работает медленно: проблема может быть не в хостинге, а в нагрузке
- 2026-03-13 » Причины, почему вашего сайта нет в поиске и как это исправить
- 2026-03-13 » Как интернет-магазину расти в тени маркетплейсов
- 2026-03-13 » Почему скорость загрузки сайта — это вопрос выживания в 2026 году
- 2026-03-13 » Ошибки навигации в интернет-магазине, которые убивают продажи
- 2026-03-13 » 12 признаков, что ваш сайт безнадежно устарел (и как это проверить)
Жизнь подобна универмагу: в ней находишь всё, кроме того, что ищешь Кроткий Эмиль - (1892—1963) - русский поэт–сатирик, юморист и афорист |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Мы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!
Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...
Мы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.
Контекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.