Bootstrap4: проблема модального рендеринга с увеличенным телом - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь использовать HTML-страницу Bootstrap с телом, увеличенным на 90%. Модал Bootstrap показывает пробелы справа и снизу. Чтобы показать проблему, я помещаю основную HTML-страницу с модальным телом 90%.zoom ..

Когда вы нажимаете на открытый модал, вы видите пробелы справа и снизу для модальности. Как мы будем рендерить модал без лишних пробелов с увеличением тела на 90% .. Желаемый результат - размытие фона модальнодолжен охватывать весь экран .. и модальное тело должно быть в центре оси x, как если бы масштабирование 90% и 100% были одинаковыми, за исключением масштабирования 90%, это мелкий шрифт

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body style="zoom:90%;">

<div class="container">
  <!-- Button to Open the Modal -->
  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
    Open modal
  </button>
  <!-- The Modal -->
  <div class="modal fade" id="myModal">
    <div class="modal-dialog modal-sm">
      <div class="modal-content">
        <!-- Modal body -->
        <div class="modal-body">
          Modal body..
        </div>
        <!-- Modal footer -->
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        </div>
      </div>
    </div>
  </div>
</div>
</body>
</html>

1 Ответ

1 голос
/ 05 мая 2019

class .modal-background использует 100vh и 100vw, и поскольку мы применили 90% -ое увеличение, 100vh соответствует 90% высоты экрана; 100vw соответствует 90% ширины экрана;

решение : переопределить этот класс с помощью width: 100%; height: 100%;

.modal-backdrop {
  width: 100% !important;
  height: 100% !important;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

<body style="zoom:90%;">

  <div class="container">
    <h1> with zoom 90%
    </h1>
    <!-- Button to Open the Modal -->
    <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
    Open modal
  </button>
    <!-- The Modal -->
    <div class="modal fade" id="myModal">
      <div class="modal-dialog modal-sm">
        <div class="modal-content">
          <!-- Modal body -->
          <div class="modal-body">
            Modal body..
          </div>
          <!-- Modal footer -->
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...