figma_adp_mobile_01
This commit is contained in:
@@ -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
112
main.js
@@ -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
517
style.css
@@ -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%;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user