Как реализовать модальные окна для карточек людей?

  • 14 августа 2023 г. 10:56
Ответы на вопрос 3
Да, для реализации модальных окон для карточек людей вам необходимо внести изменения в существующий код. 

Существует несколько способов реализации модальных окон, один из них - использование JavaScript и CSS. Давайте рассмотрим пример реализации.

1. Создайте HTML-разметку для модального окна, которая будет скрыта по умолчанию:
```html
<div id="modal" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <h2>Имя человека</h2>
    <p>Дополнительная информация о человеке</p>
  </div>
</div>
```

2. Добавьте стили CSS для модального окна:
```css
/* Скрытие модального окна */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

/* Стили для контента модального окна */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* Стили для кнопки закрытия */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
```

3. Добавьте JavaScript-код, который будет обрабатывать клик по карточке и открывать модальное окно:
```javascript
// Находим все карточки людей
var cards = document.getElementsByClassName("person-card");

// Обрабатываем клик по каждой карточке
for (var i = 0; i < cards.length; i++) {
  cards[i].addEventListener("click", function() {
    var modal = document.getElementById("modal");
    modal.style.display = "block";
  });
}

// Обрабатываем клик по кнопке закрытия
var closeBtn = document.getElementsByClassName("close")[0];
closeBtn.addEventListener("click", function() {
  var modal = document.getElementById("modal");
  modal.style.display = "none";
});
```

4. Вам также понадобится добавить CSS-класс "person-card" к каждой карточке человека на вашей странице. Это позволит навесить обработчик клика на каждую из них.

Теперь при клике по карточке человека модальное окно будет открываться, а при клике по кнопке закрытия оно будет закрываться.
Для начала создайте верстку модального окна. Затем в CSS установите для родительского блока модального окна свойство display:none; или transform: scale(0); Также можно изменять его позиционирование. Далее добавьте обработчик событий на элемент (карточку, кнопку и т.д.), который будет реагировать на клик. Внутри обработчика событий добавьте код для добавления класса, который будет менять свойство display:none; или transform: scale(0).
Для начала создай модальное окно в HTML. Затем в CSS скрой его с помощью свойства display:none; или transform: scale(0); Ты также можешь изменить позиционирование. Далее добавь обработчик событий на карточку, кнопку или любой другой элемент, чтобы он реагировал на клик. В обработчике событий добавь класс, который изменит свойство display на none или transform на scale(0).
Похожие вопросы