Jak zwiększyć szerokość modalną Bootstrap?


106

próbowałem tego, ale poszło źle

oto css

body .modal-ku {
width: 750px;
}

a oto nieudany wynik

wprowadź opis obrazu tutaj


1
w bootstrapie możesz użyć modal-sm, modal-lg dla małych i dużych rozmiarów.
Lew Lew

Czy możesz udostępnić swój konkretny kod html i css. Niektóre style mogą być przesadzone
Nikhil Batra

Czy możesz udostępnić swój pełny kod lub możesz zobaczyć ten przykład, w tym modelu szerokość można zmieniać. w3schools.com/bootstrap/…
Har devgun

1
@Hardevgun Proszę wyjaśnić, gdzie w tym przykładzie można zmienić rozmiar modalny? To nic innego jak prosta wersja demonstracyjna o stałym rozmiarze.
ProfK,

Odpowiedzi:


255

W swoim kodzie dla elementu modal-dialogdiv dodaj kolejną klasę modal-lg:

<div class="modal-dialog modal-lg">

Lub jeśli chcesz wyśrodkować okno modalne, użyj:

.modal-ku {
  width: 750px;
  margin: auto;
}

40

Najprościej można zastosować styl wbudowany w modal-dialogdiv:

<div class="modal" id="myModal">
   <div class="modal-dialog" style="width:1250px;">
      <div class="modal-content">
            ...

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

28
a co z całym tym zamieszaniem związanym z byciem responsywnym?
Abhinav Singh

@Abhinav Singh: Masz rację. Wartość piksela w kodzie twardym nie jest zalecana. Procent lub Calc są zalecane.
Myślenie

3
responsive: width: 100%; max-width: 1250px
clamchoda

15

W moim przypadku,

  1. Nadanie statycznej szerokości modalowi szkodzi responsywności.
  2. modal-lgKlasa nie była wystarczająco szeroka.

więc rozwiązanie było

@media (min-width: 1200px) {
   .modal-xlg {
      width: 90%; 
   }
}

i użyj powyższej klasy zamiast modal-lgclass


Które poprzednie zajęcia proszę?
John Max

@JohnMax znaczy „użyj powyższej klasy”
pan Heelis

11

Możesz wybierać między klasami modal-lgi modal-xllub jeśli chcesz mieć niestandardową szerokość, ustaw właściwość max-width za pomocą wbudowanego css. Na przykład,

<div class="modal-dialog modal-xl" role="document">

lub

<div class="modal-dialog" style="max-width: 80%;" role="document">

1
To działało świetnie @sumod badchhape. Usunąłem klasę „modal-lg” i wstawiłem max-width: 80% i to załatwiło sprawę !!
Sotiris Zegiannis

8

W Bootstrap 3 musisz zmienić modalne okno dialogowe. W tym przypadku możesz dodać klasę modal-admin w miejscu, w którym stoi okno dialogowe modalne.

@media (min-width: 768px) {
  .modal-dialog {
    width: 600;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
  }
  .modal-sm {
    width: 300px;
  }
}

5

W Bootstrap domyślna szerokość modal-dialogto 600px. Ale możesz wyraźnie zmienić jego szerokość. Na przykład, jeśli chcesz zmaksymalizować jego szerokość do wybranej wartości 800px, wykonaj następujące czynności:

.modal-dialog {
    width: 800px;
    margin: 30px auto;
}

Uwaga : ta zmiana dotyczy wszystkich modalnych okien dialogowych używanych w aplikacji. Sugeruję również, że najlepiej jest mieć zdefiniowane własne reguły CSS i nie dotykać rdzenia frameworka.

Jeśli chcesz, aby było ustawione tylko dla określonego okna dialogowego, użyj własnej chwytliwej nazwy klasy, modal-800której szerokość jest ustawiona na 800px, w następujący sposób:

HTML

<div class="modal">
   <div class="modal-dialog modal-800">
      <div class="modal-content">

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

CSS

.modal-dialog.modal-800 {
    width: 800px;
    margin: 30px auto;
}

Podobnie, możesz mieć nazwę klasy opartą na rozmiarze szerokości, takim jak modal-700szerokość 700px.

Mam nadzieję, że to pomocne!


4

Miałem dużą siatkę, która musiała być wyświetlona w trybie modalnym, a samo zastosowanie szerokości do ciała nie działało poprawnie, ponieważ tabela była przepełniona, chociaż zawierała klasy ładowania początkowego. Skończyło się na nałożeniu tej samej szerokości na modal-bodyi modal-content:

<!--begin::Modal-->
<div class="modal fade" role="dialog" aria-labelledby="" aria-hidden="true">
    <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
        <div class="modal-content" style="width:980px;">
            <div class="modal-header">
                <h5 class="modal-title" id="">Title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true" class="la la-remove"></span>
                </button>
            </div>
            <form class="m-form m-form--fit m-form--label-align-right">
                <div class="modal-body" style="width:980px;">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-brand m-btn" data-dismiss="modal">Close</button>

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

<!--end::Modal-->

3

Jeśli chcesz zachować responsywność modalną, użyj% szerokości zamiast pikseli. Możesz to zrobić bezpośrednio (patrz poniżej) lub za pomocą CSS.

<div class="modal fade" id="phpModal" role="dialog">
            <div class="modal-dialog modal-lg" style="width:80%;">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <h4 class="modal-title">HERE YOU TITLE</h4>
                    </div>
                    <div class="modal-body helpModal phpModal">
                        HERE YOUR CONTENT
                    </div>
                </div>
            </div>
        </div>

Jeśli używasz CSS, możesz nawet zrobić różne% dla modal-sm i modal-lg.


3

Napotkałem również ten sam problem podczas zwiększania szerokości modalu, okno nie wyświetla się na środku. Po obejściu znalazłem poniższe rozwiązanie.

.modal-dialog {
    max-width: 850px;
    margin: 2rem auto;
}

1

Właściwie to stosujesz CSS w modalnym div.

musisz zastosować CSS na .modal-dialog

Na przykład zobacz poniższy kod.

<div class="modal" id="myModal">
 <div class="modal-dialog" style="width:xxxpx;"> <!-- Set width of div which you want -->
      <div class="modal-content">
           Lorem Ipsum some text...content 

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

Bootstrap udostępnia również klasy do ustawiania szerokości div.

Do małych zastosowań modalnych modal-sm

I dla dużego modalu modal-lg


1

Najprościej to zrobić:

$(".modal-dialog").css("width", "80%");

gdzie możemy określić szerokość modalu jako procent ekranu.

Oto działający przykład, aby zademonstrować to samo:

<!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/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function () {
  		$(".modal-dialog").css("width", "90%");
  });
  </script>
</head>
<body>

<div class="container">
  <h2>Modal Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <p>Some text in the modal.</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

</body>
</html>



0

Przypuszczam, że dzieje się tak z powodu ustawienia maksymalnej szerokości modalu na 500px i maksymalnej szerokości modalu-lg to 800px Przypuszczam, że ustawienie tego na auto sprawi, że modal będzie reagował


-2
.your_modal {
    width: 800px;
    margin-left: -400px; 
 }

Wartość margin left to połowa szerokości modalu. Używam tego z motywem Maruti Admin, ponieważ nie ma on klasy.modal-lg .modal-sm

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.