CSS

Эффект блеска для изображений сайта на CSS3

  • Пожаловаться
Добавил: MAD-GTX Дата: 10.03.2013, 17:27 Комментариев: 0 Просмотров: 1933

В данном уроке мы рассмотрим как создать достаточно простой эффект блеска для изображений реализованный исключительно с помощью css. С помощью данного эффекта можно скрасить различные изображения на сайте, к примеру стилизовать социальные закладки или логотип. Основная идея состоит в том, когда изображение активно, то по нем пробегает блик, который привлекает взор. Мы не будем использовать сторонних 'тяжелых' плагинов, все будет реализовано достаточно просто, чтобы по максимуму упростить и ускорить загрузку.

Для демонстрации нам понадобятся несколько изображений, мы их позаимствовали с ресурса tumblr. HTML разметка достаточно простая, мы не будем останавливаться на ней, просмотреть ее содержание можно в исходниках.

Шаг 1. CSS
Для достижения данного эффекта нам понадобится градиентная заливка, кроме этого мы будем подключать изображения через css. Функция figure:after будет отвечать за прозрачный слой на изображении, который создает иллюзию наложения стекла на изображении.
Код

figure {
  border-radius: 70px;
  width: 140px;
  height: 140px;
  position: relative;
  overflow: hidden;
  display: inline-block;
  cursor: pointer;
  margin: 0 0.8em 5em;
  top: -120%;
  transition: top 0.25s cubic-bezier(0, 0.3, 1, 0.7);
  box-shadow: 0px 5px 4px -4px rgba(0, 0, 0, 0.4), 10px 4px 10px -8px rgba(0, 0, 0, 0.2), -10px 4px 10px -8px rgba(0, 0, 0, 0.2);
  background-size: cover;

}
figure img {
  vertical-align: bottom;
  z-index: -5;
  max-width: 100%;
  max-height: 100%;
}
figure:hover {
  top: 120%;
}
figure:before, figure:after {
  content: '';
  display: block;
  position: absolute;
  height: 100%;
}
figure:before {
  width: 140%;
  top: inherit;
  left: -20%;
  opacity: 0.6;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 40%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0));
  transform: rotate(-20deg);
}
figure:after {
  width: 100%;
  top: 0;
  border-radius: 50%;
  box-shadow: inset -5px -15px 40px rgba(0, 0, 0, 0.1);
  background-image: radial-gradient(35% 25%, closest-corner, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
}
figure:nth-child(1) {
  background-image: url("1.png");
}
figure:nth-child(2) {
  background-image: url("2.png");
}
figure:nth-child(3) {
  background-image: url("3.png");
}
figure:nth-child(4) {
  background-image: url("4.png");
}
figure:nth-child(5) {
  background-image: url("5.png");
}
figure:nth-child(6) {
  background-image: url("6.png");
}

section {
  position: absolute;
  width: 100%;
  top: 32%;
  margin: -70px 0;
  box-shadow: inset -5px -15px 40px rgba(0, 0, 0, 0.1);
  text-align: center;
}


Свойство figure:before будет отвечать за сам блик, мы добавим тени, и позиционирование блика на изображении, кроме этого создаем градиентную заливку.

Теги: эффект, изображений, на, блеска, css3, сайта, для

Источник: http://codepen.io/anon/pen/EiKkD

Скачать: 32_glitter-effect-.zip (442.3 Kb)

Скачан: 101

3.6

Мини чат

Только зарегистрированные посетители могут писать в чате.