Horizontale und vertikale Bilder gleichmässig skalieren
Es wird ein Container benötigt, in dem ein Pseudo-Objekt mit Padding-Top definiert wird um das Element gleich hoch wie breit zu drücken. Der Bildcontainer darin wird dann mit position: absolute an allen Kanten ausgerichtet.
// HTML <div class="responsive-container"> <div class="img-container centerer"> <img src="http://placehold.it/150x200" alt="" /> </div> </div>
// CSS .responsive-container { position: relative; width: 100%; border: 1px solid black; } .responsive-container:before { content: ' '; display: block; padding-top: 100%; // force 1:1 ratio } .img-container { position: absolute; top: 0; bottom: 0; left: 0; right: 0; text-align:center; /* Align center inline elements */ font: 0/0 a; /* Hide the characters like spaces */ } img { vertical-align: middle; display: inline-block; max-height: 100%; max-width: 100%; }
Skalierbare Schrift mit min/max Werten
.rem-solution { font-size: calc( {min-size}rem +1 }
.px-solution { /* Not scaleable by user */ font-size: calc( {min-size}px + ({max-size} - {min-size}) * ( (100vw - {min-width}px) / ( {max-width} - {min-width}) )) }
- {max-size} – {min-size}) * {root-size}) * ( (100vw – {min-width}px) / ( {max-width} – {min-width}) [↩]