Wie kann ich mit der neuen CSS-Funktion object-fit
auf die resultierenden Dimensionen zugreifen, die der Browser mit JavaScript ausgewählt hat?object-fit: Erhalten Sie die resultierenden Dimensionen
Nehmen wir an, foo.jpg
ist 100x200 Pixel. Die Browserseite/das Ansichtsfenster ist 400 Pixel breit und 300 Pixel hoch. Dann diesen CSS-Code angegeben:
img.foo {
width: 100%;
height: 100%;
object-fit: contain;
object-position: 25% 0;
}
Der Browser nun das Bild auf dem ganz oben mit dem richtigen Seitenverhältnis Dehnung bis auf den Grund im zweiten Quartal von der linken Seite zeigen würde. Dies führt in den Bildabmessungen:
- width: 150px
- Höhe: 300px
- links: 62.5px
- rechts: 212.5px
Was Aufruf JavaScript (jQuery erlaubt) würde mir die Zahlen geben, die ich manuell berechnet habe? (Hinweis: Die CSS-Informationen nicht selbst mit dem JavaScript bekannt sind, wie der Benutzer sie überschreiben könnte und sogar Sachen wie min-width
hinzufügen)
mit dem Code zu spielen, ich eine Geige erstellt haben: https://jsfiddle.net/sydeo244/
Wenn Sie '$ ('img.foo'). outerWidth()' verwenden, erhalten Sie die gesamte berechnete Breite des Elemen t. Nicht klar, was Sie fragen –
Nein, 'outerWidth()' funktioniert in diesem Fall nicht, da es die Breite des "vollen" Bildes ergibt - also würde es '400' zurückgeben wegen der' width: 100% 'und nicht' 150' wie gewünscht. – Chris
Es gibt keine spezielle Eigenschaft, die Ihnen diesen Wert gibt, Sie müssen die generierte Größe des Elements 'img' verwenden und dann die Eigenschaften' naturalWidth'/'naturalHeight' verwenden, um das Seitenverhältnis zu erhalten und dann das gerenderte zu berechnen Größe (ziemlich genau dasselbe, was Sie manuell getan haben). – LGSon