Bootstrap 3 modal responsive

j'ai un modal mais il n'est pas redimensionné sur des écrans plus petits ( tablettes, etc ). Est-il un moyen de le rendre réceptif ? Je n'ai trouvé aucune information sur bootstrap docs. Merci

je mets à jour mon code html: (c'est dans un django pour boucle)

    <div class="modal fade " id="{{ p.id }}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
      <div class="modal-dialog modal-lg">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="myModalLabel">Producto</h4>
          </div>
          <div class="modal-body">
            <h5>Nombre : {{ p.name}}</h5>       
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>

          </div>

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

j'ai cette css paramètres:

.modal-lg {
  max-width: 900px;}
@media (min-width: 768px) {
   .modal-lg {
    width: 100%;
  } 
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
21
demandé sur Jacob 2014-06-01 01:27:20

4 réponses

j'ai eu le même problème que j'ai résolu en ajoutant une requête média pour @screen-xs-min en version moins sous Modals.moins

@media (max-width: @screen-xs-min) {
  .modal-xs { width: @modal-sm; }
}
9
répondu Nufayl 2015-06-16 16:39:35

docs:

les modaux ont deux tailles optionnelles, disponibles via les classes de modificateur à placer sur un .modal-dialog:modal-lg et modal-sm (3.1).

aussi le dialogue modal sera échelle elle-même sur les petits écrans (3.1.1).

16
répondu PM 77-1 2014-05-31 21:50:08

vous devriez pouvoir ajuster la largeur en utilisant le .modal-dialog sélecteur de classe (en conjonction avec questions des médias ou quelle que soit la stratégie que vous utilisez pour responsive design):

.modal-dialog {
    width: 400px;
}
6
répondu sfletche 2014-05-31 21:37:51

Vieux post. J'ai fini par configurer les requêtes des médias et en utilisant max-width: YYpx; et width:auto; pour chaque point d'arrêt. Cela permettra de mettre à l'échelle w / images ainsi (par dire que vous avez une image qui est la largeur de 740px sur le md écran), le modal sera réduit à 740px (à l'exclusion du rembourrage pour le .modal-body, si elle est appliquée)

<div class="modal fade" id="bs-button-info-modal" tabindex="-1" role="dialog" aria-labelledby="Button Information Modal">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
            </button>
            <div class="modal-body"></div>
        </div>
    </div>
</div>

notez que J'utilise SCSS, bootstrap 3.3.7, et que je n'ai pas fait d'autres modifications à la _modals.scss fichier _bootstrap.scss les importations. Le CSS ci-dessous est ajouté à un fichier SCSS supplémentaire et importé après_bootstrap.scss.

il est également important de noter que les styles originaux de bootstrap pour .modal-dialog n'est pas défini pour le point de rupture 992px par défaut, seulement aussi haut que le point de rupture 768px (qui a une largeur de réglage appliquée width: 600px;, d'où la raison pour laquelle j'ai surmonté cela w/ width: auto;.

@media (min-width: $screen-sm-min) { // this is the 768px breakpoint
    .modal-dialog {
        max-width: 600px;
        width: auto;
    }
}

@media (min-width: $screen-md-min) { // this is the 992px breakpoint
    .modal-dialog { 
        max-width: 800px;
    }
}

exemple ci-dessous de modal étant responsive avec une image.

enter image description here

2
répondu Rob Scott 2018-01-20 03:09:22