Próbowałem następujące:
<div class="modal hide fade modal-admin" id="testModal" style="display: none;">
<div class="modal-header">
<a data-dismiss="modal" class="close">×</a>
<h3 id='dialog-heading'></h3>
</div>
<div class="modal-body">
<div id="dialog-data"></div>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn" >Close</a>
<a class="btn btn-primary" id="btnSaveChanges">Save changes</a>
</div>
</div>
I ten Javascript:
$('.modal-admin').css('width', '750px');
$('.modal-admin').css('margin', '100px auto 100px auto');
$('.modal-admin').modal('show')
Wynik nie jest tym, czego się spodziewałem. Modalny górny lewy jest umieszczony na środku ekranu.
Czy ktoś może mi pomóc. Czy ktoś jeszcze tego próbował? Zakładam, że nie jest niczym niezwykłym chcieć.
Odpowiedzi:
AKTUALIZACJA:
W
bootstrap 3
musisz zmienić modalne okno dialogowe. W takim przypadku możesz dodać klasęmodal-admin
w miejscu, w którymmodal-dialog
stoi.Oryginalna odpowiedź (Bootstrap <3)
Czy istnieje jakiś powód, dla którego próbujesz to zmienić za pomocą JS / jQuery?
Możesz to łatwo zrobić za pomocą CSS, co oznacza, że nie musisz stylizować dokumentu. We własnym niestandardowym pliku CSS dodajesz:
W Twoim przypadku:
Powodem, dla którego umieściłem body przed selektorem jest to, że ma on wyższy priorytet niż domyślny. W ten sposób możesz dodać go do niestandardowego pliku CSS i bez obaw aktualizować Bootstrap.
źródło
.modal .modal-dialog { width: 800px; }
Lewa pozycja jest obliczana automatycznie.Jeśli chcesz sprawić, by był responsywny za pomocą CSS, użyj tego:
Uwaga 1: Użyłem
.large
klasy, możesz to zrobić normalnie.modal
Uwaga 2: W Bootstrap 3 ujemny lewy margines może nie być już potrzebny (niepotwierdzony osobiście)
Uwaga 3: W Bootstrap 3 i 4 istnieje
modal-lg
klasa. Może to być wystarczające, ale jeśli chcesz sprawić, by było responsywne, nadal potrzebujesz poprawki, którą dostarczyłem dla Bootstrap 3.W niektórych zastosowanych
fixed
modach aplikacji możesz spróbowaćwidth:80%; left:10%;
(formuła: left = 100 - width / 2)źródło
@media (min-width: 400px) { body .modal-lrg{ width: 80%; /* respsonsive width */ margin-left:-40%; /* width/2) */ } }
Jeśli używasz Bootstrap 3, musisz zmienić div modal-dialog, a nie div modal, tak jak pokazano w zaakceptowanej odpowiedzi. Ponadto, aby zachować responsywną naturę Bootstrap 3, ważne jest, aby napisać zastąpienie CSS za pomocą zapytania o media, aby modal był pełnej szerokości na mniejszych urządzeniach.
Zobacz ten JSFiddle, aby eksperymentować z różnymi szerokościami.
HTML
CSS
źródło
Jeśli chcesz czegoś, co nie psuje względnego projektu, spróbuj tego:
Jak mówi @Marco Johannesen, „ciało” przed selektorem ma wyższy priorytet niż domyślny.
źródło
margin-left:auto; margin-right:auto;
zamiastauto
na odwróttop: 30%
procent w zależności od zawartości w środku.W Bootstrap 3+ najbardziej odpowiednim sposobem zmiany rozmiaru modalnego okna dialogowego jest użycie właściwości size. Poniżej znajduje się przykład, zwróć uwagę
modal-sm
namodal-dialog
klasę, wskazując na mały modal. Może zawierać wartoścism
dla małych,md
średnich ilg
dużych.źródło
modal-md
klasy.Dla
Bootstrap 3
oto jak to zrobić.Dodaj
modal-wide
styl do znaczników HTML (dostosowany z przykładu w dokumentacji Bootstrap 3 )i dodaj następujący CSS
Nie ma potrzeby, aby zastąpić
margin-left
wBootstrap 3
celu uzyskania tego, aby być teraz wyśrodkowany.źródło
modal-wide
klasę, co oznacza, że nie jest to klasa „wewnętrzna” Bootstrap. Możesz po prostu to zrobić#myModal .modal-dialog { width: 80%; }
W Bootstrap 3 wszystko czego potrzebujesz to
Większość powyższych odpowiedzi nie zadziałała dla mnie !!!
Pokaż fragment kodu
źródło
Rozwiązanie zostało pobrane z tej strony
źródło
W v3 Bootstrap istnieje prosta metoda na powiększenie modalu. Po prostu dodaj klasę modal-lg obok modal-dialog.
źródło
Bootstrap 3: Aby zachować responsywne funkcje dla małych i bardzo małych urządzeń, wykonałem następujące czynności:
źródło
Tak właśnie zrobiłem w moim custom.css dodałem te linie i to wszystko.
Oczywiście możesz zmienić rozmiar szerokości.
źródło
Jeśli Bootstrap> 3, po prostu dodaj styl do swojego modalu.
źródło
Znalazłem to rozwiązanie, które działa dla mnie lepiej. Możesz użyć tego:
lub to w zależności od twoich wymagań:
Zobacz post, w którym znalazłem: https://github.com/twitter/bootstrap/issues/675
źródło
FYI Bootstrap 3 automatycznie obsługuje lewą właściwość. Po prostu dodanie tego CSS zmieni szerokość i utrzyma ją w środku:
źródło
Zachowaj responsywny design, ustaw szerokość zgodnie z oczekiwaniami.
Nie komplikuj.
źródło
Zmieniając klasę
model-dialog
, możesz osiągnąć oczekiwany wynik. Te małe sztuczki działają dla mnie. Mam nadzieję, że pomoże ci rozwiązać ten problem.źródło
W przypadku Bootstrap 3 wymagana jest jedynie wartość procentowa podawana do modalnego okna dialogowego za pomocą CSS
CSS
źródło
Użyłem kombinacji CSS i jQuery, wraz ze wskazówkami na tej stronie, aby stworzyć szerokość i wysokość płynu za pomocą Bootstrap 3.
Po pierwsze, niektóre CSS do obsługi szerokości i opcjonalny pasek przewijania dla obszaru zawartości
A potem trochę jQuery, aby w razie potrzeby dostosować wysokość obszaru zawartości
Pełny zapis i kod na stronie http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/
źródło
W Bootstrap 3 z CSS możesz po prostu użyć:
Gwarantuje to, że nie zepsujesz projektu strony, ponieważ używamy
.modal-dialog
zamiast tego,.modal
który zostanie zastosowany nawet do cieniowania.źródło
Spróbuj czegoś takiego (patrz przykład jsfiddle na żywo tutaj: http://jsfiddle.net/periklis/hEThw/1/ )
źródło
Uważam, że zamiast wykorzystywać wartości procentowe do reagowania modalnego, można uzyskać większą kontrolę nad używaniem kolumn i innych responsywnych elementów już wbudowanych w bootstrap.
Aby modal reagował / wielkość dowolnej liczby kolumn:
1) Dodaj dodatkowy div wokół div modal-dialog z klasą .container -
2) Dodaj trochę CSS, aby modalna pełna szerokość -
3) Ewentualnie dodaj dodatkową klasę, jeśli masz inne moduły -
4) Dodaj w rzędzie / kolumnach, jeśli chcesz mieć różne rozmiary modów -
źródło
Dodaj następujące elementy do pliku css
źródło
Użyj poniżej skryptu:
Demo :
źródło
Rozwiązałem go dla Bootstrap 4.1
Mieszanka wcześniej opublikowanych rozwiązań
źródło
Osiągnięto oczekiwany wynik za pomocą,
źródło
Bootstrap 3.xx
Zauważ, że dodałem klasę .employeeModal w drugim dziale. Następnie styl tej klasy.
źródło
Użyłem tego sposobu i jest to dla mnie idealne rozwiązanie
źródło
Mniej oparte rozwiązanie (bez js) dla Bootstrap 2:
Następnie, gdziekolwiek chcesz określić szerokość modalną:
źródło
Użyłem SCSS i w pełni responsywnego modalu:
źródło
lub
źródło