• Страница 1 из 1
  • 1
Форум » Веб-разработка » JavaScript — скрипты » Адаптивный слайдер типа карусели на jQuery (Flexslider с простыми анимированными слоями с помощью CSS)
Адаптивный слайдер типа карусели на jQuery
Kosten
Понедельник, 02 Марта 2020 | Сообщение 1
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Давайте рассмотрим адаптивный слайдер, который по умолчанию идет на всю ширину, где при установки в любой блок, то его каркас автоматически подстраивается под заданную ранее ширину блока, а так это совершенно новый подход к современному веб-дизайну и управлению элементами с помощью анимированных скользящих функций. Ведь до этой статьи с материалом уже на сайте есть аналогичный адаптивный слайдер, где изначально задана ширина, что делается для того, что можно по ссылке перейти и выбрать тот формат, который больше подойдет под ваш сайт.

Так выглядит на онлайн проверки на адаптивность элементов:



Стиль на слайд и шрифтовые кнопки

Код
@import url(https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.2.0/flexslider-min.css);
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.css);

HTML

Код
<div class="flexslider left">
    <ul class="slides">
  <li>
   <img src="http://zornet.ru/_fr/85/s0887226.jpg">
   <div class="meta">
    <h1>Название.</h1>
    <h2>Краткое описание</h2>
    <div class="category">
     <p>Кнопка</p>
     <span>Category</span>
    </div>
   </div>
  </li>
  <li>
   <img src="http://zornet.ru/_fr/85/s2278598.jpg">
   <div class="meta">
    <h1>Название.</h1>
    <h2>Краткое описание</h2>
    <div class="category">
     <p>Кнопка №2</p>
     <span>Category</span>
    </div>
   </div>
  </li>
  <li>
   <img src="http://zornet.ru/_fr/85/s3328818.jpg">
   <div class="meta">
    <h1>Название.</h1>
    <h2>Краткое описание</h2>
    <div class="category">
     <p>Кнопка №3</p>
     <span>Category</span>
    </div>
   </div>
  </li>
  <li>
   <img src="http://zornet.ru/_fr/85/s5046193.jpg">
   <div class="meta">
    <h1>Название.</h1>
    <h2>Краткое описание</h2>
    <div class="category">
     <p>Кнопка №4</p>
     <span>Category</span>
    </div>
   </div>
  </li>
    </ul>
</div>

CSS

Код
.flexslider {
  width: 100%;
    hight: 50%;
  margin: 0 auto;
  box-shadow: none;
}

.flexslider li {
  position: relative;
}

.flexslider li .meta {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  font-family: 'Roboto', sans-serif;
}

.flexslider li h1 {
  background: rgba(51, 51, 51, 0.5);
  padding: 12px 18px 12px;
  margin-bottom: 0;
  font-size: 1.8em;
  font-weight: 300;
}

.flexslider li h2 {
  background: rgba(51, 51, 51, 0.5);
  padding: 13px 18px 11px;
  font-size: 1.1em;
  margin-bottom: 0;
  font-weight: 300;
}

.flexslider li .category {
  display: flex;
  flex-direction: row;
}

.flexslider li .category p {
  background: #e43837;
  margin-right: 7px;
  font-size: 1.1em;
  padding: 12px 18px 10px;
  font-weight: 300;
}

.flexslider li .category span {
  background: #e43837;
  margin-top: 17px;
  padding: 8px 12px 0;
  font-size: 0.9em;
  font-weight: 300;
  height: 26px;
}

.flexslider li h1,
.flexslider li h2,
.flexslider li .category p,
.flexslider li .category span {
  -webkit-animation-duration: .6s;
  animation-duration: .6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

.flexslider li.flex-active-slide .meta h1,
.flexslider li.flex-active-slide .meta h2,
.flexslider li.flex-active-slide .meta .category p,
.flexslider li.flex-active-slide .meta .category span {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
  -webkit-animation-duration: .6s;
  animation-duration: .6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

.flexslider li.flex-active-slide .meta h2 {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
}

.flexslider li.flex-active-slide .meta .category p {
  -webkit-animation-delay: .6s;
  animation-delay: .6s;
}

.flexslider li.flex-active-slide .meta .category span {
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
}

.flex-direction-nav {
  position: absolute;
  top: 0;
  left: 30px;
}

.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 30px;
  height: 30px;
  background-color: #333;
  margin: -20px 0 0;
  position: absolute;
  top: 50px;
  z-index: 10;
  overflow: hidden;
  opacity: .5;
  cursor: pointer;
  color: #fff;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
}

.flex-direction-nav .flex-prev {
  text-align: left;
  left: -10px;
}

.flex-direction-nav .flex-next {
  text-align: right;
  left: 30px;
}

.flexslider:hover .flex-prev {
  left: -10px;
}

.flexslider:hover .flex-next {
  left: 30px;
}

.flexslider:hover .flex-next:hover,
.flexslider:hover .flex-prev:hover {
  opacity: 1;
}

.flex-direction-nav a:before {
  font-family: FontAwesome;
  content: '\f104';
  font-size: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 0;
  padding: 2px;
  font-size: 19px;
    line-height: 27px;
}

.flex-direction-nav a.flex-next:before {
  content: '\f105';
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

JS

Код
$('.flexslider').flexslider({
    animation: "slide",
    controlNav: false
});

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

Демонстрация
Прикрепления: 1157622.jpg (73.6 Kb) · flexslider-with.zip (5.6 Kb)
Страна: (RU)
Форум » Веб-разработка » JavaScript — скрипты » Адаптивный слайдер типа карусели на jQuery (Flexslider с простыми анимированными слоями с помощью CSS)
  • Страница 1 из 1
  • 1
Поиск: