Beibehaltung Seitenverhältnis mit min/max Höhe/Breite?

Habe ich eine Galerie auf meiner Website, wo Nutzer können Bilder hochladen.

Möchte ich die Bilder sitzen in einem div, behält seine Höhe, die Bilder sollten nicht größer als 500 Pixel in der Höhe. Die Breite sollte automatisch erfolgen, um das Seitenverhältnis beizubehalten.

HTML:

<div id="gallery">
    <img src="uploads/my-dynamic-img.jpg">
</div>

Habe ich versucht, dieses CSS:

#gallery{
    height: 500px;

    img{
        max-height: 500px;
        max-width: 100%;
    }
}

Den oben funktioniert gut, die Galerie ist immer 500 Pixel hohen und Bilder, die nie mehr als 500 Pixel in der Höhe. Ich Laufe in Probleme, wenn auch mit kleineren Bildern, wenn ein Nutzer hochlädt, ein kleines Bild, ich möchte es 'geblasen', bis zu einem minimum von 200px. Ich weiß, dies kann erreicht werden durch Einstellung einer min-height auf das Bild, das problem mit diesem ist, wenn das Bild weniger als 200 Pixel in der Höhe aber sagen, 2000px Breite, das Bild wird dann gesprengt, um 200px in der Höhe, dann aber das Seitenverhältnis ist geschraubt, da das Bild breiter als die Bilder übergeordneten div.

Wie kann ich eine min-height, aber Sie behalten das Seitenverhältnis?

Das ist nicht der CSS-syntax -- sind Sie mit einer Sprache wie SASS oder Stylus oder ist das nur ein Fehler?
Es SASS-syntax.
Das erste, was mir in den Sinn kommt, ist die Verwendung Hintergrundbilder mit background-size: enthalten, aber das würde nicht funktionieren, wenn Sie brauchen, um zu bedecken, <= IE8.
wenn Sie haben die Kontrolle über die html-Ausgabe, verwenden Sie die server-Seite der Verarbeitung, um zu bestimmen, das Seitenverhältnis, dann fügen Sie eine "große" oder "große" Klasse und mit Ihrem styling getrennt. Wenn Sie don ' T haben die Kontrolle über html, über javascript verwenden, um das gleiche zu tun, und wieder, Stil Sie separat.

InformationsquelleAutor panthro | 2014-11-23

Schreibe einen Kommentar