Div не открывается как ссылка, когда я предпочитаю "модальный" - PullRequest
0 голосов
/ 12 января 2020

Я хочу разработать галерею изображений. Я хочу представить каждое изображение и его описание под ним, и когда я нажимаю на изображение или текст или пробел получил «модальный»

, я написал это для элемента в галерее

<div class="m-4 img99">
    <a href="#ml">
        <img src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" class="simg " alt="..." data-toggle="modal" data-target="#ml">
        <div class="">
            <h5 class="">test</h5>
            <p>test</p>
        </div>
    </a>
</div>

Модальная часть -

<div class="modal fade" id="ml">
    <div class="modal-dialog modal-dialog-centered  modal-xl ">
        <div class="modal-content">

            <!-- Modal Header -->


            <!-- Modal body -->
            <div class="modal-body ">
                <div class="row">
                    <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 ">
                        <p>
                            test
                        </p>
                        <br>

                    </div>
                </div>
            </div>



        </div>
    </div>
</div>

и CSS часть

 .simg {
        width: auto;
        height: 60px;
    }
 .img99 {
        margin-right: auto !important;
        margin-left: auto !important;
        width: max-content;
        height: max-content;
        border: 1px solid rgba(0, 0, 0, 0.15);
    }

Моя проблема заключается в том, что при нажатии на текст или пробел модель не работает. «когда я нажимаю на изображение: модель работает нормально»

https://codepen.io/ahof920/pen/MWYGRYp?editors=1100

В чем проблема?

1 Ответ

1 голос
/ 12 января 2020

Замените ваш HTML следующим:

Причина, по которой он не работает:

Модальные запускаются следующими тегами в bootstrap data-toggle="modal" data-target="#ml" и вы добавили те внутри тега <img>, поэтому модальное окно открывается при нажатии на изображение. Так что добавьте data-toggle="modal" data-target="#ml" к <a>.

.simg {
  width: auto;
  height: 60px;
}

.img99 {
  margin-right: auto !important;
  margin-left: auto !important;
  width: max-content;
  height: max-content;
  border: 1px solid rgba(0, 0, 0, 0.15);
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

<div class="shadow2 m-4 img99">
  <a href="#ml" data-toggle="modal" data-target="#ml">
    <img src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" class="simg " alt="...">
    <div class="">
      <h5 class="">test</h5>
      <p>test</p>
    </div>
  </a>
</div>
<div class="modal fade" id="ml">
  <div class="modal-dialog modal-dialog-centered  modal-xl ">
    <div class="modal-content">
      <!-- Modal Header -->
      <!-- Modal body -->
      <div class="modal-body ">
        <div class="row">
          <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 ">
            <p>
              test
            </p>
            <br>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
...