Для достижения эффекта плавного появления элементов по горизонтали слева направо, можно использовать CSS-анимации или JavaScript с библиотеками для анимации. Вот пример, как можно реализовать этот эффект с помощью CSS.
1. Пример HTML структуры:
```html
<div class="line">
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
</div>
```
2. Пример CSS стилей:
```css
.line {
display: flex;
justify-content: space-around;
align-items: center;
height: 100px;
position: relative;
}
.point {
width: 20px;
height: 20px;
border-radius: 50%;
background-color: blue;
opacity: 0; /* Скрыто изначально */
transform: translateY(20px); /* Сдвиг вниз для эффекта входа */
animation-fill-mode: forwards; /* Удерживать конечное состояние анимации */
}
.point:nth-child(1) {
animation: fadeInUp 0.5s ease forwards 0.5s; /* Задержка 0.5с */
}
.point:nth-child(2) {
animation: fadeInUp 0.5s ease forwards 1s; /* Задержка 1с */
}
.point:nth-child(3) {
animation: fadeInUp 0.5s ease forwards 1.5s; /* Задержка 1.5с */
}
@keyframes fadeInUp {
to {
opacity: 1; /* Появляется */
transform: translateY(0); /* Возвращается на место */
}
}
```
С помощью данного CSS-кода мы используем анимацию `fadeInUp`, которая постепенно увеличивает непрозрачность (opacity) элементов и сдвигает их вверх. Каждой точке задается своя задержка, чтобы они появлялись не одновременно, а последовательно.
Если вы хотите управлять этим эффектом через JavaScript (например, при прокрутке страницы или при нажатии кнопки), это тоже возможно. Например, с использованием jQuery или чистого JavaScript для добавления класса с анимацией.
Вот пример реализации с помощью JavaScript:
```javascript
document.addEventListener("DOMContentLoaded", function() {
const points = document.querySelectorAll('.point');
points.forEach((point, index) => {
setTimeout(() => {
point.style.opacity = 1;
point.style.transform = 'translateY(0)';
}, index * 500); // Задержка в 500 мс для каждой точки
});
});
```
Таким образом, при загрузке страницы элементы будут плавно появляться слева направо. Вы можете настроить время анимации, задержки и другие параметры по вашему усмотрению.