#html #css #bootstrap-4
#HTML #css #bootstrap-4
Вопрос:
Я использую Bootstrap 4.2, чтобы показывать всплывающее окно (модальное) с изображением реального размера (100%) как по ширине, так и по высоте, если позволяет размер окна браузера, а если нет, то есть если изображение больше размера окна, то оно будет уменьшено автоматически. Я пытался использовать следующий код, но изображение увеличивается ( 100%) по ширине модального окна, хотя я настроил его на максимальную ширину: 100%.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Imagen 100%</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X 965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH 8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
</head>
<body>
<style>
.img-100{
max-width: 100%;
max-height: 100%;
}
</style>
<a href="#modalArticulo" role="button" class="btn btn-primary" data-toggle="modal">Launch modal</a>
<div id="modalArticulo" class="modal fade " tabindex="-1" role="dialog">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<img src="../images/Imagen360x360.jpg" class="img-100">
<!-- <img src="../images/Imagen1200x1200.jpg" class="img-100"> -->
</div>
</div>
</div>
</body>
</html>
Изображения будут загружаться динамически, поэтому я не могу знать размер изображений по умолчанию.
Ответ №1:
Установка поля в значение auto предотвратит растягивание изображения до заполнения ширины и высоты модального div. Вам не нужно устанавливать максимальную ширину или максимальную высоту изображения.
.modal-image {
margin: auto
}
Кроме того, добавьте этот класс, чтобы модальное окно соответствовало изображению и располагалось по центру экрана. Без этого модальное окно будет отображать границы вокруг изображения.
.modal-content {
width: unset;
margin: auto;
}
Комментарии:
1. Это не сработало должным образом, оно не реагирует. Попробуйте изображение большего размера, чем окно, например 1200×1200. <a href=»#modalArticulo» role=»button» class=»btn btn-primary» data-toggle=»modal»>Запустить modal</a> <div id=»modalArticulo» class=»modal-image fade » tabindex=»-1″ role=»dialog»> <div class=»модальный диалог, ориентированный на модальный диалог»> <div class =»модальный контент»> <img src=»../images/Imagen360x360.jpg «class=»»> <!— <img src=»../images/Imagen1200x1200.jpg «class=»»> —> </div> </div> </div>