Bootstrap3, модальный с прозрачным наложением, но также закрывайте его щелчком за пределами модального - PullRequest
0 голосов
/ 26 мая 2018

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script>
    $(document).ready(function() {
      $("#myBtn2").click(function() {
        $("#myModal2").modal({
          backdrop: false
        });
      });
    });
  </script>
</head>

<body>

  <div class="container">
    <h2>Modal</h2>
    <button type="button" class="btn btn-info" id="myBtn2">Modal</button>
    <!-- Modal -->
    <div class="modal fade" id="myModal2" role="dialog">
      <div class="modal-dialog">

        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h4 class="modal-title">Modal</h4>
          </div>
          <div class="modal-body">
          </div>
        </div>

      </div>
    </div>

  </div>
</body>
</html>

Я обнаружил, что {backdrop: false} может сделать наложение модального объекта прозрачным.

Но это предотвращает закрытие модального клика за пределами модального окна.

Вопрос: Как включить его с close modal по click outside of the modal. В то же время наложение модального окна оставалось прозрачным?

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Добавьте следующий стиль

.modal-backdrop.in {
    filter: alpha(opacity=0); // For IE
    opacity: 0; // For all other browsers
}

Также фон не нужен: false сейчас.

Но я хочу упомянуть одну вещь: хотя вы сможете увидетьчто в фоновом режиме, он не будет кликабельным или доступным, пока модал не закроется.

0 голосов
/ 26 мая 2018

Просто добавьте opacity:0 к элементу фона и удалите backdrop:false

.modal-backdrop {
  opacity:0!important;
}
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script>
    $(document).ready(function() {
      $("#myBtn2").click(function() {
        $("#myModal2").modal();
      });
    });
  </script>
</head>

<body>

  <div class="container">
    <h2>Modal</h2>
    <button type="button" class="btn btn-info" id="myBtn2">Modal</button>
    <!-- Modal -->
    <div class="modal fade" id="myModal2" role="dialog">
      <div class="modal-dialog">

        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h4 class="modal-title">Modal</h4>
          </div>
          <div class="modal-body">
          </div>
        </div>

      </div>
    </div>

  </div>
</body>
</html>
...