Immer die Höhe des hintergrund-Bild in der Größe verändert, mit "background-size: enthalten"
So, ich habe eine image gallery. Jedes Bild ist ein background-image
erstreckt sich über die gesamte Seite.
Um sicherzustellen, dass jedes Bild nutzt die maximal zur Verfügung stehende Breite, ich geben Sie die folgenden hintergrund-Größe:
background-size: 100% auto;
Jedoch, einige der Bilder sind größer als der verfügbare Bildschirm-Höhe.
Stellen Sie sicher, dass das Bild sichtbar ist, in voller Höhe (mindestens mit scroll bars), die ich brauchen würde, geben die body
element die Höhe des in der Größe geänderten Hintergrundbild.
Aber es scheint kein Weg zu sein, um halt zu bekommen in der Größe veränderte Bild im hintergrund ist die Höhe, die in JavaScript.
Ist das wahr? Muss ich greifen, um die normale Bild-Elemente?
Gibt es viele Wege, um die Größe einer statische hintergrund-Bild, wie Wie bekomme ich hintergrund Bild size in jQuery? Sie aber offensichtlich nicht gelten hier.
InformationsquelleAutor Pekka 웃 | 2014-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Schlüssel ist die Verwendung des statischen Bilds, berechnen Sie das Seitenverhältnis des Bildes, und verwenden Sie dann das eigentliche element der Abmessungen, um herauszufinden, die berechneten Abmessungen der verkleinerte Bild.
Zum Beispiel, nehmen wir an, Sie hätten die folgenden:
Statischen Bild die Abmessungen sind
50x100
ein, und es ist so bemessen, nehmen Sie sich eine Breite100%
des body-Elements. Daher diebody
element ist die Breite wäre gleich in der Größe veränderte Bild in der Breite. Wenn Sie wollten, um zu berechnen, in der Größe veränderte Höhe des Bildes, Sie würde halt das Seitenverhältnis des Bilds. In diesem Fall, das Bild ist verkleinert-Höhe wäre800px
, weil(400*100)/50 = 800
BEISPIEL HIER
Reine JS-Ansatz: BEISPIEL HIER
Die Reine JS-Methode wird der Schnellste zu sein, zeigt dieser jsPerf Beispiel.
Ohh, great minds think alike: wir wörtlich kam auf die Lösung in der gleichen minute 🙂 Deins ist schöner, aber, und hört resize(), cool. Danke.
Dies funktioniert nicht bei Firefox Abhilfe ?
Es funktioniert bei mir im FF/Chrome.
Wirklich? auch versuchen, einen relativen Pfad bei background-image wie /Pfad/zum Bild anstelle von http:// ...
InformationsquelleAutor Josh Crozier
Dieser arbeitete für mich (innerhalb eines Reglers):
InformationsquelleAutor seanwbarker