Как настроить модальное окно, чтобы соответствовать фактическому размеру содержащегося изображения? - PullRequest
0 голосов
/ 19 марта 2019

Я использую Bootstrap 4.2, чтобы показать всплывающее окно (модальное) с изображением в реальном размере (100%) как по ширине, так и по высоте, если позволяет размер окна браузера, а если нет, то это Если изображение больше размера окна, оно будет автоматически уменьшено. Я попытался с помощью следующего кода, но изображение увеличивается (+ 100%) по ширине модального, хотя я настроил его с max-width: 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 Ответ

0 голосов
/ 19 марта 2019

Установка поля на авто предотвратит растяжение изображения, чтобы заполнить ширину и высоту модального div. Вам не нужно устанавливать максимальную ширину или максимальную высоту изображения.

.modal-image {
    margin: auto
}

Кроме того, добавьте этот класс, чтобы модальное прилегание к изображению и центрирование на экране. Без этого модал будет отображать границы вокруг изображения.

.modal-content {
     width: unset;
     margin: auto;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...