Bilder an den Rand, Bilder nebeneinander
Bilder rechts oder links an den Rand des umfassenden Elements oder nebeneinander zu setzen gehört zu den Routinearbeiten in jedem Content Management System: Dafür bekommen Bilder CSS float: left oder float: right. float kann ein Element allerdings nicht zentrieren.
Bilder mit flexbox horizontal und vertikal zentrieren
Heute tendiert das Webdesign eher zu zentrierten mittig gesetzten Bildern, statt sie rechts oder links vom Text umfließen zu lassen. display: flex zentriert Bilder einfacher als die klassische Methode aus position, left, top und margin.
CSS
.flex { display: flex; justify-content: center; align-items: center; }
HTML
<div class="flex"> <img src="donut.jpg" width="215" height="183" alt="…"> </div>

Bilder an den Platz anpassen mit object-fit
CSS object-fit passt Bilder an den verfügbaren Platz im Layout an, entweder unter Beibehaltung des Seitenverhältnisses oder durch Aufziehen und Dehnen, um den gesamten verfügbaren Platz mit dem Bild zu füllen.

Das ist praktisch, wenn das Bild oder Video nicht vorher schon im Bildbearbeitungsprogramm oder beim Videoschnitt auf ein bestimmtes Seitenverhältnis zugeschnitten wurde.

<div class="object-fit"> <img src="tartuffo.jpg" width="720" height="347" alt="…"> </div> .object-fit { width: 300px; height: 300px; margin: 4em auto; border:1px solid green; } .object-fit img { object-fit: cover; width: 100%; height: 100%; }
Mehr zu Bilder im img-Tag mit object-fit anpassen
Alle Evergreen-Browser unterstützen object-fit, aber IE bleibt außen vor. Solange IE11 unterstützt werden muss, bleiben die bewährten Techniken.
Bilder zentrieren – die alte Methode
Da sich Bilder in einem img-Tag wie ein übergroßer Buchstabe verhalten, braucht der umfassende Block nur ein text-align: center. Alternativ kann das Bild mit display: block oder display: inline-block zentriert werden.
Um das Bild sowohl vertikal als auch horizontal zu zentrieren, wird es mit top, bottom, left und right vollkommen aus dem sichtbaren Ausschnitt verschoben. Anschließend versetzt margin: auto das Bild in die senkrechte und wagerechte Mitte des umfassenden Elements.
.parent { position: relative; overflow: hidden; } .child { position: absolute; top: -9999px; bottom: -9999px; left: -9999px; right: -9999px; margin: auto; }

Bilder als background-image zentrieren
Bilder können nicht nur über das img-Tag eingebunden werden, sondern auch via CSS background-image. Dann bietet background-position die einfachste Technik, das Bild innerhalb seines umfassenden Blocks zu zentrieren.

<div class="center-frame"> <div class="wild-frame"></div> </div>
.center-frame { width: 300px; height: 200px; overflow: hidden } .wild-frame { background: url(frame.jpg) no-repeat center; width:100%; height: 100% }
Thumbnails à la WordPress
Die Medienübersicht von WordPress zeigt Bilder als quadratische Thumbnails. Dahinter steckt einfaches CSS, das die Bilder zentriert und beschneidet.
Das HTML-Markup besteht aus einem div-Element mit class="thumbnail" und dem Originalbildern im Hochformat und Querformat. Bilder im Hochformat bekommen ein class="portrait".
HTML
<div class="thumbnail"> <img src="DSC00546-1024x682.jpg" width="1024" height="682" alt="…"> </div> <div class="thumbnail"> <img class="portrait" src="DSC04525-967x1024.jpg" width="967" height="1024" alt="…"> </div>






Die WordPress-Medienübersicht positioniert die Bilder mit ihrer linken oberen Ecke in die Mitte des umfassenden div-Elements.
transform: translate(-50%,-50%) bezieht sich auf die Größe des Bildes und versetzt das Bild nach oben links.
height: 100% und width: auto bzw. width:100% und height: auto machen den Thumbnail repsonsive und passen ihn an die Größe des umfassenden Elements an.
CSS für Thumbnails
.thumbnail { position: relative; width: 200px; height: 200px; overflow: hidden; } .thumbnail img { position: absolute; left: 50%; top: 50%; height: 100%; width: auto; transform: translate(-50%,-50%); } .thumbnail img.portrait { width: 100%; height: auto; }
Bilder mit SVG clipPath beschneiden
Eine letzte Alternative ist der SVG clipPath, der im Illustrationsprogramm unter Sichtkontrolle vorgefertigt werden kann.
<svg version="1.1" viewBox="0 0 360 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <clipPath id="cp"> <rect x="180" y="0" width="360" height="360"/> </clipPath> <image transform="translate(-180)" width="720" height="347" clip-path="url(#cp)" xlink:href="tartuffo.jpg"/> </svg>
Mehr zu SVG clipPath – Bilder und Grafik beschneiden und freistellen