figma_adp_mobile_01

This commit is contained in:
2025-10-29 20:22:43 +03:00
parent bb1b8f4173
commit 018ee2089e
3 changed files with 628 additions and 3 deletions

View File

@@ -257,7 +257,7 @@
<div class="row_container_area row_container_area-reverse"></div>
<!-- 4 -->
<div class="row_container_item">Ссылочное продвижение</div>
<div class="row_container_area"></div>
<div class="row_container_area row_container_area-empty"></div>
<!-- 5 -->
<div class="row_container_item">Техническая оптимизация</div>
</div>

112
main.js
View File

@@ -60,6 +60,60 @@ document.addEventListener('DOMContentLoaded', () => {
});
});
document.addEventListener('DOMContentLoaded', () => {
const sliderContainer = document.querySelector('.advantage_slider');
const slider = document.querySelector('.advantage_slider_items');
const slides = document.querySelectorAll('.advantage_slider_item');
let currentIndex = 0;
let dotsContainer, dots;
function initSlider() {
// если ширина > 900 — отключаем слайдер
if (window.innerWidth > 900) {
slider.style.transform = '';
if (dotsContainer) dotsContainer.remove();
return;
}
// создаём точки только если их ещё нет
if (!dotsContainer) {
dotsContainer = document.createElement('div');
dotsContainer.classList.add('slider_dots');
slides.forEach((_, i) => {
const dot = document.createElement('div');
dot.classList.add('slider_dot');
if (i === 0) dot.classList.add('active');
dot.addEventListener('click', () => moveToSlide(i));
dotsContainer.appendChild(dot);
});
sliderContainer.appendChild(dotsContainer);
dots = dotsContainer.querySelectorAll('.slider_dot');
}
moveToSlide(0); // начальная позиция
}
function moveToSlide(index) {
if (window.innerWidth > 900) return; // не сдвигать если десктоп
if (index < 0) index = slides.length - 1;
if (index >= slides.length) index = 0;
currentIndex = index;
const slideWidth = slides[0].offsetWidth + 28; // с учётом gap
slider.style.transform = `translateX(-${index * slideWidth}px)`;
updateDots();
}
function updateDots() {
if (!dots) return;
dots.forEach((dot, i) => dot.classList.toggle('active', i === currentIndex));
}
// пересоздаём слайдер при изменении ширины
window.addEventListener('resize', initSlider);
initSlider(); // запустить при загрузке
});
// ----------------------------------------------------------ВЫПАДАЮЩЕЕ-МЕНЮ--------------------------------------------------------
document.querySelector('.header_nav_link-reverse').addEventListener('click', function() {
@@ -109,3 +163,61 @@ document.addEventListener("DOMContentLoaded", () => {
menu.classList.toggle("open");
});
});
// ---------------------------------------------SLIDER----------------------------------------------------
document.addEventListener('DOMContentLoaded', () => {
const servicesContainer = document.querySelector('.our-services_row');
const slider = document.querySelector('.our-services_row_items');
const slides = document.querySelectorAll('.our-services_row_item');
let currentIndex = 0;
let dotsContainer, dots;
let isActive = false;
function initServicesSlider() {
if (window.innerWidth > 900) {
slider.style.transform = '';
if (dotsContainer) {
dotsContainer.remove();
dotsContainer = null;
}
isActive = false;
return;
}
if (isActive) return;
isActive = true;
// создаём контейнер для точек
dotsContainer = document.createElement('div');
dotsContainer.classList.add('our-services_dots');
slides.forEach((_, i) => {
const dot = document.createElement('div');
dot.classList.add('our-services_dot');
if (i === 0) dot.classList.add('active');
dot.addEventListener('click', () => moveToSlide(i));
dotsContainer.appendChild(dot);
});
servicesContainer.appendChild(dotsContainer);
dots = dotsContainer.querySelectorAll('.our-services_dot');
moveToSlide(0);
}
function moveToSlide(index) {
if (window.innerWidth > 900) return;
if (index < 0) index = slides.length - 1;
if (index >= slides.length) index = 0;
currentIndex = index;
const offset = index * servicesContainer.offsetWidth;
slider.style.transform = `translateX(-${offset}px)`;
updateDots();
}
function updateDots() {
dots.forEach((dot, i) => dot.classList.toggle('active', i === currentIndex));
}
window.addEventListener('resize', initServicesSlider);
initServicesSlider();
});

517
style.css
View File

@@ -858,6 +858,7 @@ html, body, * {
border: 1px solid rgba(57, 57, 57, 0.5);
}
/* -----------------------------------------------OUR-SERVICES-------------------------------------------------------------------------------------- */
.our-services {
@@ -1425,7 +1426,9 @@ html, body, * {
}
/* ---------------------------------------------------970!!!---------------------------------------------------------- */
/* --------------------------------------------------MOBILE----------------------------------------------------------- */
/* ---------------------------------------------------970---------------------------------------------------------- */
@media (max-width: 970px) {
.wrapper {
@@ -1714,7 +1717,7 @@ body.lock {
margin-bottom: 30px;
}
.footer_chart_content {
width: 71%;
width: 100%;
}
.header_nav_item {
margin: 0;
@@ -1730,5 +1733,515 @@ body.lock {
border-radius: 33px;
}
.footer_chart_img {
right: 19px;
top: 75px;
}
.chart_img {
width: 215px;
height: 150px;
}
.our-services_row_item {
padding: 15px 10px;
}
.our-services_row_items {
gap: 15px;
}
.our-services_item_01 svg {
padding: 5px;
}
.item_index_color {
font-size: 65px;
}
.footer_cont_heading {
font-size: 44px;
}
.footer_cont_info {
font-size: 18px;
}
.chart_cont_title {
font-size: 18px;
}
}
/* ----------------------------------------------------900---------------------------------------------------------- */
@media (max-width: 900px) {
.wrapper {
max-width: 900px;
}
.row_container_item {
font-size: 14px;
}
.slider_row_title {
font-size: 15px;
}
.header_body_top {
flex-direction: column;
gap: 30px;
}
.header_body_about {
margin: 0;
max-width: 50%;
margin-left: 350px;
}
.header_about_text {
font-size: 20px;
}
.header_body_about span {
font-size: 20px;
}
.header_about_img {
margin: 8px 0;
width: 25px;
height: 25px;
}
/* ---------------------------------------------------------------------------------------------------------- */
.advantage_slider {
width: 100%;
position: relative;
}
.advantage_slider_items {
width: 100%;
display: flex;
}
.advantage_slider_item {
width: 342px;
height: 518px;
flex: 0 0 100%;
max-width: 100%;
border-radius: 30px;
}
.advantage_slider_item:hover {
transform: none;
}
.slider_item_wrapper {
width: 100%;
margin: 0;
}
.advantage_slider_close {
padding: 60px;
}
.slider_dots {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 10px;
z-index: 10;
}
.slider_dot {
width: 20px;
height: 20px;
border-radius: 50%;
background: #ccc;
transition: background 0.3s ease, transform 0.3s ease;
cursor: pointer;
}
.slider_dot.active {
background: #0C47A0;
}
.slider_item_title {
font-size: 50px;
}
.advantage_slider_item.active .slider_item_title-reverse {
font-size: 50px;
}
.slider_item_index {
width: 85px;
height: 85px;
font-size: 30px;
border: 2px solid #fff;
}
.advantage_slider_open {
padding: 60px;
}
.advantage_slider_item.active .slider_item_index {
border: 2px solid #939393;
}
.advantage_slider_item.active .item_inner_text {
font-size: 24px;
}
.slider_item_index-reverse {
border: 2px solid #939393;
}
/* -------------------------------------------------------------------------- */
.advantage {
flex-direction: column;
gap: 40px;
}
.advantage_content {
width: 100%;
}
.row_info_list {
flex-direction: row;
gap: 30px;
flex-wrap: wrap;
}
.row_info_item {
width: 40%;
margin-right: 0px;
height: 200px;
}
.row_info_area {
margin-right: 20px;
padding: 15px;
}
.row_info_area svg {
width: 28px;
height: 28px;
}
.info_content_first {
font-size: 20px;
}
.info_content_second {
font-size: 30px;
}
.header_row_info {
margin-bottom: 40px;
}
.info_list_item {
padding: 0;
}
.advantage_slider {
margin-bottom: 40px;
}
.info_heading_title {
font-size: 42px;
}
.heading_title_sub {
font-size: 24px;
}
.adv_cont_01,
.adv_cont_02 {
font-size: 20px;
}
/* ---------------------------------------------------------------------------------- */
.our-services_row {
position: relative;
overflow: hidden;
padding-bottom: 60px;
}
.our-services_row_items {
display: flex;
transition: transform 0.5s ease;
gap: 0;
width: 125%;
}
.our-services_row_item {
flex: 0 0 100%;
max-width: 100%;
border-radius: 24px;
}
/* точки */
.our-services_dots {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 10px;
z-index: 5;
}
.our-services_dot {
width: 20px;
height: 20px;
border-radius: 50%;
background: #ccc;
transition: background 0.3s ease, transform 0.3s ease;
cursor: pointer;
}
.our-services_dot.active {
background: #0C47A0;
}
.our-services_item_01 svg {
padding: 0;
width: 80px;
height: 80px;
}
.our-services_row_item {
padding: 40px;
max-width: 80%;
}
.item_link {
font-size: 20px;
}
.our-services_item_title {
font-size: 36px;
}
.our-services_bottom_index {
font-size: 120px;
}
.item_link_svg svg {
width: 26px;
height: 26px;
}
.footer_cont_heading {
font-size: 40px;
}
.item_index_color {
font-size: 60px;
}
.time_item_interval {
font-size: 14px;
}
.footer {
height: 480px;
}
.footer_chart {
width: 400px;
}
}
/* -----------------------------------------------800--------------------------------------------------------------------- */
@media (max-width: 800px) {
.wrapper {
max-width: 800px;
}
.header_body_about {
margin-left: 250px;
min-width: 59%;
}
.row_container_area-empty {
display: none;
}
.slider_row_container {
width: 100%;
}
.row_middle_text {
font-size: 20px;
}
.row_middle_title {
font-size: 28px;
}
.wrapper_row_btn {
padding: 8px;
font-size: 14px;
}
.accordion-item {
flex: 2;
}
.row_info_item {
height: 180px;
}
.advantage_slider_item.active .item_inner_text {
font-size: 22px;
}
.slider_item_title {
font-size: 40px;
}
.advantage_slider_item.active .slider_item_title-reverse {
font-size: 40px;
}
.header_nav_link {
width: 380px;
}
.footer {
flex-direction: column;
height: max-content;
gap: 30px;
}
.item_index_color {
font-size: 100px;
}
.footer_cont_heading {
font-size: 48px;
}
.time_item_interval {
font-size: 16px;
}
.footer_cont_info {
font-size: 22px;
}
.footer_cont_info {
margin-bottom: 30px;
}
.footer_cont_time {
margin-bottom: 30px;
}
.footer_chart_img {
right: 62px;
top: 55px;
}
.chart_img {
width: 260px;
height: 170px;
}
.footer_chart_content {
width: 65%;
}
.footer_chart {
padding: 30px;
}
}
/* ---------------------------------------------------700----------------------------------------------------------------------- */
@media (max-width: 700px) {
.wrapper {
max-width: 700px;
}
.header_nav_link {
width: 320px;
}
.header_body_about {
margin-left: 190px;
min-width: 70%;
}
.header_body_heading {
margin-right: 0;
}
.slider_row_container {
width: 85%;
}
.row_container_area-empty {
display: block;
}
.row_container_area-reverse {
display: none;
}
.slider_row_title {
font-size: 14px;
}
.slider_row_index {
font-size: 25px;
}
.item_wrapper_index {
font-size: 25px;
}
.accordion_index {
font-size: 25px;
}
.accordion-item {
flex: 3;
}
.row_middle_title {
font-size: 22px;
}
.row_middle_text {
font-size: 16px;
}
.item_wrapper_icon {
padding: 20px;
}
.accordion_title {
font-size: 18px;
}
.accordion_title {
margin-bottom: 70px;
}
.row_info_heading {
align-items: start;
}
.info_heading_title {
margin: 0;
width: 60%;
margin-bottom: 25px;
}
.row_info_item {
height: 120px;
}
.row_info_item {
margin: 0;
margin-right: 0;
width: 46%;
}
.row_info_list {
padding: 0;
}
.our-services_heading {
flex-direction: column;
align-items: start;
}
.our-services_heading_text {
width: 100%;
}
.item_index_color {
font-size: 80px;
}
.footer_cont_heading {
font-size: 42px;
}
}
/* ----------------------------------------------------600---------------------------------------------------------------- */
@media (max-width: 600px) {
.wrapper {
max-width: 600px;
}
.header_nav_link {
width: 280px;
}
.accordion_index {
font-size: 15px;
}
.slider_row_index {
font-size: 15px;
}
.item_wrapper_index {
font-size: 15px;
}
.accordion_title {
font-size: 14px;
}
.accordion_title {
margin-bottom: 80px;
}
.item_wrapper_icon {
padding: 15px;
}
.slider_item_index {
width: 65px;
height: 65px;
font-size: 25px;
}
.advantage_slider_item.active .item_inner_text {
font-size: 18px;
}
.slider_item_title {
font-size: 32px;
}
.advantage_slider_item.active .slider_item_title-reverse {
font-size: 32px;
}
.our-services_row_items {
height: 380px;
}
.footer_cont_heading {
font-size: 35px;
}
.item_index_color {
font-size: 60px;
}
.footer_cont_info {
font-size: 20px;
width: 100%;
}
.info_heading_title {
width: 65%;
}
.header_body_about {
min-width: 65%;
}
}