2015-10-28 15 views
7

Flexboxes machen es einfach, Layouts zu erstellen, die basierend auf dem verfügbaren Platz intelligent wachsen und schrumpfen. Ich benutzte diese Funktion, um zwei Bilder zu zeichnen, die jeweils die Hälfte der Breite des Bildschirms einnehmen. In Firefox werden die Bilder wie erwartet gerendert und behalten ihr Seitenverhältnis bei, aber in Chrome werden die Bilder zu jeweils 50% horizontal gequetscht und vertikal in voller Höhe belassen.chrome respektiert das Bildseitenverhältnis in Flexbox nicht

Hier ist eine Demo von dem, was ich spreche:

.flexbox { 
 
    width: 100%; 
 
    display: flex; 
 
} 
 
img { 
 
    width: 50%; 
 
}
<div class="flexbox"> 
 
    <img src="http://res1.windows.microsoft.com/resbox/en/windows/main/2b03b0c4-85f7-4c28-9c60-1c7af2a62fa8_5.jpg" /> 
 
    <img src="http://res1.windows.microsoft.com/resbox/en/windows/main/b89eff70-398d-4b1b-8806-02458a185c5a_5.jpg" /> 
 
</div>

ich in an answer to a similar question gelesen habe, dass dies ein Fehler Chrome ist. Wie kann ich sauber herumarbeiten?

Dank

+0

Haben Sie Anzeige verwenden müssen: flex? Wenn Sie display: inline-block verwenden, erhalten Sie, was Sie suchen. – Cruiser

+0

@Cruiser Ich würde lieber flexbox verwenden, aber Sie haben recht, 'display: inline-block' macht den Trick gut. (Solange ich mich erinnere, den Whitespace zwischen den divs zu kommentieren) – BonsaiOak

Antwort

8

Die Elemente in einer Flexbox werden standardmäßig in ihrer Größe gedehnt. Wenn Sie möchten, dass sie sich nicht auf der Querachse (vertikal) dehnen, können Sie das Standardverhalten mit dem align-items des Containers ändern.

Fiddle:http://jsfiddle.net/g1vLff23/

CSS

.flexbox { 
    width: 100%; 
    display: flex; 
    align-items: flex-start; 
} 
img { 
    width: 50%; 
} 
+0

Akzeptieren Sie dies als die Antwort, weil @ Chelsea-Lösung viele externe Leerzeichen, wo die Bilder waren, hinterlässt. – BonsaiOak

+0

War überall nach dieser Antwort. Vielen Dank! – Wes

-1

Sie können dies, indem Sie die height Eigenschaft auf Ihre img Regel lösen, und es einen Wert von auto geben:

img{ 
    height:auto; 
    width:50%; 
} 
+0

Das funktioniert nicht für mich. Würde es Ihnen etwas ausmachen, Ihre Antwort mit einer Probe zu aktualisieren? – BonsaiOak

Verwandte Themen