Reframe.js Notizen

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

FitVids.js ist immer noch ein perfekt funktionierendes Mini-Plugin, um Videos (oder alles andere) responsiv zu gestalten. Sie benötigen es oder etwas Ähnliches für Websites, die Dinge wie YouTube- oder Vimeo-Videos, Instagram-Einbettungen oder eigentlich alles, was nicht im Verhältnis der Seitenverhältnisse responsiv ist, enthalten. <img>/<video> passen ihre Breite/Höhe in einem seitenverhältnis-freundlichen Weg an, <iframe>/<canvas>/<object> tun das nicht.

Reframe.js ist eine Art modernisierte Version von FitVids.

  • Es ist bower- und npm-freundlich.
  • Sie können es requiren.
  • Es benötigt kein jQuery.

Obwohl sie weitgehend dasselbe tun, gibt es einige geringfügige Unterschiede

  • FitVids injiziert die benötigten CSS-Daten, während Reframe erwartet, dass Sie diese zu Ihrer Stylesheet hinzufügen.
  • Sie rufen FitVids auf einem Container auf, um darin nach Elementen zu suchen. Sie geben Reframe direkt Selektoren. Sie können anpassen, was gefunden wird, und mit beiden filtern.

Als wir es tweeteten, gab es mehrere Antworten wie

Warum sollte man das verwenden, wenn man auch den Padding-Hack benutzen kann?

Tatsächlich verwenden beide den Padding-Hack oder „intrinsische Verhältnisse“. Wickeln Sie ein Container-Element um das Ding, machen Sie es height: 0; padding-top: 56.25%; position: relative; und positionieren Sie dann das Element darin absolut, um es vollständig zu bedecken. Aber auf diese Weise bedeutet das

  1. Sie müssen das Wrapper-Element selbst in Ihren Inhalt einfügen.
  2. Alles, was Sie einbetten, sollte 16:9 sein.

Die Verwendung einer dieser Bibliotheken bedeutet

  1. Der Wrapper wird für Sie injiziert.
  2. Was Sie einbetten, wird gemessen und das richtige Seitenverhältnis angewendet.

Beide sind wertvoll. Ich möchte keine Div-Wrapper von Hand schreiben, ich möchte einfach nur Einbettungscode kopieren und einfügen. Und nicht alle Dinge sind 16:9.