Создание модального окна, подобного тому, что используется на mail.ru, можно реализовать с помощью HTML, CSS и JavaScript. Вот простой пример кода, который демонстрирует, как создать модальное окно с закруглёнными краями и полосами прокрутки.
### HTML
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Модальное окно</title>
</head>
<body>
<button id="openModal">Войти</button>
<div id="modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<h2>Авторизация</h2>
<form>
<label for="username">Логин:</label>
<input type="text" id="username" required>
<br>
<label for="password">Пароль:</label>
<input type="password" id="password" required>
<br>
<button type="submit">Войти</button>
</form>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
```
### CSS (styles.css)
```css
body {
font-family: Arial, sans-serif;
}
.modal {
display: none; /* Скрыть модальное окно по умолчанию */
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
background-color: white;
margin: 15% auto;
padding: 20px;
border-radius: 10px; /* Закруглённые углы */
width: 300px; /* Ширина модального окна */
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Тень для модального окна */
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
input {
margin-bottom: 10px;
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
```
### JavaScript (script.js)
```javascript
// Получаем элементы модального окна и кнопки
var modal = document.getElementById("modal");
var btn = document.getElementById("openModal");
var span = document.getElementsByClassName("close")[0];
// Открытие модального окна при нажатии на кнопку
btn.onclick = function() {
modal.style.display = "block";
}
// Закрытие модального окна при нажатии на (x)
span.onclick = function() {
modal.style.display = "none";
}
// Закрытие модального окна при клике вне его
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
// Можно добавить закрытие окна при нажатии на клавишу ESC
window.onkeydown = function(event) {
if (event.key === "Escape") {
modal.style.display = "none";
}
}
```
### Инструкции
1. **HTML**: Создайте структуру вашей страницы с кнопкой для открытия модального окна и самим модальным окном.
2. **CSS**: Примените стили, чтобы сделать модальное окно эстетически привлекательным с закруглёнными углами и тенью.
3. **JavaScript**: Реализуйте функционал открытия и закрытия модального окна.
### Кроссбраузерность
Чтобы добиться корректного отображения во всех современных браузерах, следует:
- Убедиться, что у вас включены метатеги для мобильных браузеров.
- Использовать резиновую верстку (flexbox или grid) для адаптивности.
- Проверить код в различных браузерах (Chrome, Firefox, Safari, Edge) и на разных устройствах.
- Вы можете использовать библиотеки, такие как jQuery или Bootstrap, которые обеспечивают кроссбраузерную совместимость и упрощают процесс создания модальных окон.
Этот простой пример предоставляет базовую реализацию модального