Karte: Objekte mit CSS gestalten

Responsive Objekte

Flexibel wie ein magischer Spiegel

Das <object>-Element ist wunderbar, wenn du verschiedenste Inhalte in deine Webseite einbetten willst, aber ohne das richtige CSS kann es sich manchmal stur wie ein alter Zauberspiegel verhalten, denn es passt einfach nicht ins Bild!

Doch keine Sorge, mit ein bisschen CSS-Magie wird dein <object> nicht nur hübsch, sondern auch schlau. Es reagiert flexibel auf jede Bildschirmgröße und fügt sich wie von selbst in dein Design ein. Ob Desktop oder kleiner Bildschirm-Zauberkasten – mit dem richtigen CSS bleibt dein eingebetteter Inhalt immer anmutig und elegant, als würde es von selbst wissen, wie viel Platz es braucht. So gibt es kein Gezicke mehr, nur noch fließende Übergänge!

Objekte anpassen

Token: Objekte responsiv gestalten

Ein Objekt

das sich anpasst

Passe deine Objekte perfekt in ihre Umgebung an, so dass sie sich nahtlos in ihre Umgebung einfügen. Du kannst genauso vorgehen, wie du es bei I-Frames gelernt hast.

In diesem Beispiel nutzt du ein 16:9-Seitenverhältnis, das du mit padding-bottom: 56.25% erzielst. Das <object>-Element füllt dann den gesamten Container aus und passt sich flexibel an jede Bildschirmgröße an. Du kannst deinem Element auch zusätzliche Stile wie Rahmen oder Schatten verleihen, um es optisch ansprechend in dein Design einzubetten. So bleibt dein <object> immer schön responsiv und fügt sich elegant in deine Webseite ein, egal wie groß oder klein das Gerät deines Besuchers ist!

HTML
<div class="object-container">
    <object data="file.pdf" type="application/pdf">
    </object>
</div>
CSS
.iframe-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* Für ein 16:9-Seitenverhältnis */
    height: 0;
    overflow: hidden;
}

.iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
HTML
<div class="object-container">
    <object data="assets/media/elixir-of-light.pdf" type="application/pdf">
    </object>
</div>
CSS
.object-container {
    position: relative;
    width: 90%;
    padding-bottom: 56.25%;
    /* Für16:9-Seitenverhältnis */
    height: 0;
}

.object-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #333;
    /* Optional: Rahmen */
    box-shadow:
        0 4px 8px rgba(0, 0, 0, 0.591);
    /* Optional: Schatten */
}
Nach oben scrollen