7

ero stato sviluppare il mio sito web utilizzando Bootstrap e in fondo, ho questa struttura ..Bootstrap Immagine Responsive incasinato su IE

<div class="container"> 
    <img src="~/Content/Theme/img/image.png" class="img-responsive" style="margin: 0 auto;" /> 
</div> 

Funziona perfettamente su Chrome e Firefox, ma quando ho testarlo su Internet Explorer 9 , l'immagine viene ingrandita, anche oltre la dimensione dell'immagine stessa. quando ho usato la modalità di debug su IE (F12) e deselezionando l'impostazione width:100%; sotto .img-responsive, si ritorna alla normalità.

Come dovrei risolvere? Ho già provato alcune soluzioni qui incluso aggiungendo .col-sm-12 all'immagine, ma ancora non lo aggiusta su IE.

+0

ho temporaneamente risolto mediante l'applicazione di un "hack", ho tolto "width: 100%" da .img-reattiva nel bootstrap.css, ma non credo che questo sia un buona soluzione. Chiunque ha una soluzione migliore? IE fa davvero schifo .. – InnovativeDan

+3

È un bug, si stanno risolvendo nella prossima versione: https://github.com/twbs/bootstrap/issues/13996 – Christina

+0

aggiungi questo al tuo css dopo il bootstrap. .img-responsive {width: auto} – Christina

risposta

7

Aggiungi questo al vostro foglio di stile le sostituzioni:

.img-responsive {width: auto;} 

che, in concomitanza con l'max-width dichiarazione Bootstrap, dovrebbe risolvere il problema. Si noti inoltre che Bootstrap v3.2.1 ha ripristinato il commit che ha causato il problema.

Github discussion for bug #13996

5

Hey So che è una vecchia questione, ma nel caso in cui qualcuno è ancora alla ricerca di risposte a questo problema è sufficiente aggiungere la classe "btn-block" al tuo html.

<img src="your-image-path" class="img-responsive btn-block>

Spero che ti aiuto.

+1

Anche se funziona, la classe btn-block è pensata per essere utilizzata solo sui pulsanti. Penso che sarebbe confuso assegnare quella classe a un'immagine. –

+0

Buona soluzione rapida - se stai usando i nomi di classe predefiniti di bootstrap sul tuo sito (invece di classi semantiche e mixin) non credo che tu debba veramente preoccuparti della scarsa semantica di questo – JKirchartz

0
.img-responsive{ 
width:100% 
max-width:100% 
} 

ha lavorato per me

+3

Benvenuto in StackOverflow!Ti preghiamo di aggiungere una piccola spiegazione al tuo codice. Grazie. – Aurasphere

+0

Ciò forzerebbe le immagini ad allungarsi oltre la loro dimensione nativa, che spesso non è desiderabile. – isherwood

0

Ecco una correzione interessante mi è venuta. Dopo aver aggiunto il 100% di larghezza alle tue classi img-responsive e img-thumbnail, vedrai che le immagini più piccole si gonfiano a dismisura, così mi è venuta in mente questa piccola parte di jQuery per assicurarmi che la larghezza massima di ogni immagine non supera la larghezza naturale. Assicurati che sia caricato sulla finestra e NON sul documento pronto, in modo che non funzioni finché le immagini non vengono caricate.

$(window).on('load', function(){ 
 
\t $('.img-responsive, .img-thumbnail').each(function() { 
 
\t \t // get the natural width of the image: 
 
\t \t var imgWidth = $(this).prop('naturalWidth'); 
 
\t \t // set the max-width css rule of each image to it's natural width: 
 
\t \t $(this).css('max-width', imgWidth); 
 
\t }); 
 
});