Как я могу показать три элемента на странице в карусели?

Я пытался изменить эту карусель (https://codepen.io/ancaspatariu/pen/WpQYOP), чтобы вставить ее на веб-сайт розничной продажи книг. Чего я пытаюсь добиться, так это показать три обложки книг для каждого «слайда» карусели. Теперь это мой код, я добавил свойство display: inline-block, но оно по-прежнему показывает одну обложку на слайд. Код длиннее, но я покажу вам только части, касающиеся макета карусели изображений.

HTML

<div>
<div class = "carousel">
<ul class = "slides">
<input type = "radio" name = "radio-buttons" id = "img-1" checked />
  <li class = "slide-container">
  <div class = "slide-image">
  <img src = "Bookaholic/img/DearData_US_jacket.jpeg" >
  </div>
  <div class = "slide-image">
  <img src = "Bookaholic/img/DearData_US_jacket.jpeg" >
  </div>

CSS

ul.slides {
  display: block;
  position: relative;
  height: 600px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
}

.slide-container { 
  display: inline-block; 
  white-space: nowrap;
  width:1400px;
}

.slide-image {
  display: inherit;
  position: absolute;
  bottom:80%;
  left:20%;
  width: 20%;
  height: 60%;
  top: 0;
  opacity: 0;
  transition: all .7s ease-in-out;
}  

.slide-image img {
  width: 20%;
  min-width: 100%;
  height: 100%;
}

Как я могу показать три элемента на странице в карусели?

Вам нужно будет поместить три изображения на каждый слайд, однако я бы не советовал использовать это, поскольку он имеет недопустимый html - входы не могут быть дочерними элементами ul

Pete 09.04.2019 11:15
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
763
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Из приведенного вами примера КодПен, чтобы изменить его, чтобы включить 3 изображения в каждый слайд, вам просто нужно добавить еще 2 изображения в каждый div.slide-image, например:

<div class = "slide-image">
  <img src = "img1.jpg">
  <img src = "img2.jpg">
  <img src = "img3.jpg">
  ...

затем измените CSS этих изображений на:

.slide-image img {
  width: 33.333%;
  height: 100%;
}

Это было так просто. К сожалению, я только начал с HTML и CSS. Спасибо Вам и всем ответившим!

Laura Cappelli 11.04.2019 23:53

Для этого вы можете использовать плагин: Slick Carousel — отличная штука. Перейдите по ссылке https://www.jqueryscript.net/demo/Fully-Responsive-Flexible-jQuery-Carousel-Plugin-slick/.

Я думаю, что это можно сделать с помощью flexbox или сетки. Это быстрый пример, который я подготовил, чтобы показать вам, как использовать flexbox. Основным свойством будет «Основа Flex». Мне понадобится больше вашего кода, чтобы воспроизвести его для вашего варианта использования:

«carrusel__wrapper» будет вашим слайдом_контейнером, а «элемент» — вашим слайдом_изображением.

<div class = "carrusel__wrapper">
  <div class = "item"></div>
  <div class = "item"></div>
  <div class = "item"></div>
</div>

И CSS:

.carrusel__wrapper{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.item{
  height: 200px;
  width: 200px;
  background-color: red;
  margin: 0 10px;
}

https://codepen.io/anon/pen/ROKrdN

Я могу подготовить лучший пример, если вы предоставите мне более чистый код.

Другие вопросы по теме