Для создания последовательной анимации, где три картинки отображаются по очереди, можно использовать CSS-анимацию и JavaScript для управления процессом. Ниже приведен пример реализации такого подхода:
1. **HTML структура**:
```html
<div class="image-container">
<div class="image" id="image1"></div>
<div class="image" id="image2"></div>
<div class="image" id="image3"></div>
</div>
```
2. **CSS стили**:
```css
.image-container {
width: 300px; /* Задайте необходимую ширину */
height: 200px; /* Задайте необходимую высоту */
overflow: hidden;
position: relative;
}
.image {
width: 100%;
height: 100%;
position: absolute;
top: 0;
background-size: cover;
background-position: center;
}
#image1 {
background-image: url('image1.jpg'); /* Укажите путь к первой картинке */
}
#image2 {
background-image: url('image2.jpg'); /* Укажите путь ко второй картинке */
display: none;
}
#image3 {
background-image: url('image3.jpg'); /* Укажите путь к третьей картинке */
display: none;
}
```
3. **JavaScript для анимации**:
```javascript
let currentIndex = 0;
const images = document.querySelectorAll('.image');
const totalImages = images.length;
const displayTime = 3000; // 3 секунды
const transitionTime = 300; // 0.3 секунды
function showNextImage() {
images[currentIndex].style.display = 'none'; // Скрываем текущую картинку
currentIndex = (currentIndex + 1) % totalImages; // Переходим к следующей
images[currentIndex].style.display = 'block'; // Показываем следующую картинку
setTimeout(() => {
// После задержки переключаемся на следующую
showNextImage();
}, displayTime);
}
// Начинаем анимацию
showNextImage();
// Прокрутка блока вверх к первой картинке после завершения анимации
setTimeout(() => {
const container = document.querySelector('.image-container');
container.scrollTop = 0; // Прокручиваем вверх к первой картинке
}, (displayTime + transitionTime) * totalImages);
```
### Объяснение кода:
- **HTML**: Создается контейнер для изображений, в котором каждая картинка помещена в отдельный `div`.
- **CSS**: Устанавливаются размеры и фон для изображений. Только одно изображение отображается в данный момент, остальные скрыты.
- **JavaScript**:
- Используется функция `showNextImage()`, которая скрывает текущую картинку и показывает следующую.
- Для удержания текущей картинки на экране используется таймер.
- После отображения всех изображений блок прокручивается к первой картинке.
### Заметки:
- Обязательно подмените `url('image1.jpg')` и остальные пути на реальные источники ваших изображений.
- При необходимости добавьте обработку ситуации с прокруткой, если у вас есть другие элементы в контейнере.