Загрузка данных
.modal {
position: fixed;
inset: 0;
z-index: 10000;
display: flex;
justify-content: flex-end;
background-color: transparent;
visibility: hidden;
pointer-events: none;
transition: background-color 0.5s ease, visibility 0.5s;
}
.modal.open {
visibility: visible;
pointer-events: auto;
background-color: var(--bg-glass);
}
.modal.open .modal-content {
transform: translateX(0);
}
.modal-content {
width: 50vw;
height: 100vh;
background-color: var(--bg-color);
color: var(--text-color);
border-left: 5px solid var(--border-color);
box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
gap: 30px;
transform: translateX(100%);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.modal-content-div{
padding: 50px;
}
.modal-content h3 {
font-size: 3rem;
margin: 0;
font-weight: 300;
}
.modal-content h5 {
font-size: 1.5rem;
margin-top: 1.5rem;
margin-bottom: 10px;
opacity: 0.8;
}
.modal .close-btn {
align-self: flex-end;
position: absolute;
background: none;
border: none;
font-size: 5rem;
color: var(--text-color);
cursor: pointer;
line-height: 1;
padding: 20px;
padding-right: 37px;
transition: opacity 0.2s, transform 0.2s;
}
<div id="myModal" class="modal">
<div class="modal-content">
<button id="closeModalBtn" class="close-btn">×</button>
<div class="modal-content-div">
<h3>Настройки</h3>
<div class="settings-section">
<h5>Тема сайта</h5>
<button id="theme-toggle" class="theme-toggle-btn">
<span class="light-icon"><img class="dark-light" src="icons/weather_sun_sunny_sunshine_icon_124153.svg"> Светлая</span>
<span class="dark-icon"><img class="dark-light" src="icons/icon-icons-profil.svg"> Темная</span>
</button>
</div>
<div class="settings-section">
<h5>Язык</h5>
<div class="dropdown">
<button class="dropbtn"><span id="languageText">RU</span></button>
<div class="dropdown-content">
<a href="#" data-lang="RU">Русский</a>
<a href="#" data-lang="EN">English</a>
<a href="#" data-lang="DE">Deutsch</a>
</div>
</div>
</div>
<div class="settings-section">
<h5>Эффект фона</h5>
<select id="bg-effect-select" class="theme-toggle-btn" style="width: 100%;">
<option value="network">Гипер-Сеть</option>
<option value="sparkles">Звездная пыль</option>
<option value="matrix">Цифровой поток</option>
<option value="orbit">Гравитация</option>
<option value="none">Чистый фон</option>
</select>
</div>
<div class="settings-section" style="margin-top: 20px;">
<h5>Интенсивность:</h5>
<div>
<input type="number" id="bg-intensity-input" min="0" max="200" value="100" class="intensity">
<span style="margin-left: 5px;">%</span>
</div>
<input type="range" id="bg-intensity-range" min="0" max="200" value="100" class="intensity-slider">
</div>
</div>
</div>
</div>