Bootstrap 4 модальный появляется за фоном (приложение Django) - PullRequest
0 голосов
/ 03 января 2019

Я уже тщательно исследовал эту проблему, но все решения взяты из более старой версии Bootstrap, и они не помогли.

Моя проблема в том, что когда я нажимаю кнопку, появляется модалза фоном.Все найденные решения говорят о том, что родительский контейнер / модал не может иметь фиксированной или относительной позиции.Тем не менее, мой модал не имеет родительского контейнера, и у меня нет никакого специального CSS-кода, написанного для модала.

Я думаю, что проблема может быть в том, что я использую Django с этим HTML-файлом.Вот код -

example.html

{% extends 'main/base.html' %}
{% load static %}

{% block title %}Example Title{% endblock %}

{% block fullscreen_content %}
  <div id="map-canvas" style="height: calc(100% - 50px); width: 100%;"></div>
  
	<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Launch demo modal
  </button>

  <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">
          ...
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
          <button type="button" class="btn btn-primary">Save changes</button>
        </div>
      </div>
    </div>
  </div>
{% endblock %}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> 

base.html

{% load static %}
<!doctype html>
<html>
  <head>
    <title>{% block title %}{% endblock %}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="shortcut icon" href="{% static 'images/favicon.ico' %}">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
    <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootswatch/4.0.0-beta.2/flatly/bootstrap.min.css"> -->
    <link href="//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext" rel="stylesheet" type="text/css">
    <link href="{% static 'style.css' %}" rel="stylesheet" type="text/css">
    <script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
    {% block header %}{% endblock %}
  </head>
  <body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
      <a class="navbar-brand" href="{% url 'shelter:index' %}">Example</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
          {% with 'example example example' as tabs %}
          {% for tab in tabs.split %}
            <li class="nav-item {% if page == tab %}active{% endif %}">
              <a href="{% url 'shelter:'|add:tab %}" class="nav-link">{{ tab|title }}</a>
            </li>
          {% endfor %}
          {% endwith %}
        </ul>
        {% if request.user.is_authenticated %}
        <ul class="navbar-nav">
          <li class="nav-item">
            <a href="{% url 'shelter:logout' %}" class="nav-link">Log out</a>
          </li>
        </ul>
        {% endif %}
      </div>
    </nav>
    {% block fullscreen_content %}{% endblock %}

    <div class="container">
      <div class="page">{% block content %}{% endblock %}</div>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
    {% block footer %}{% endblock %}
  </body>
</html>

Я удалил / отредактировал чувствительные части в коде или ненужные части, поэтому, надеюсь, их будет достаточно для продолжения.Спасибо!

РЕДАКТИРОВАТЬ - Вот скриншот enter image description here

Ответы [ 2 ]

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

Если вам удобно использовать начальную загрузку тем в SASS, то с этим справятся следующие переменные:

$zindex-modal:              100001;
$zindex-modal-backdrop:     100000;

Я сделал это так, чтобы мой модальный / задний фон отображался над моей липкой панелью навигации.

0 голосов
/ 03 января 2019

В вашем основном CSS-файле попробуйте установить z-index фона на 1, CSS-код ниже может помочь:

.modal-backdrop{
  z-index: 1;
}
...