Lägg till padding runt en bild
Här är hur du kan använda CSS och bildförhållande för att centrera och paddda en bild:
- Först måste du omsluta din bild i ett containerelement, som en
<div>eller<figure>. Detta gör att du kan tillämpa stilar på containern som kommer att påverka bilden inuti. - Ställ in containerns
position-egenskap tillrelative. Detta låter dig positionera bilden inuti containern. - Lägg till ett
::afterpseudo-element till containern. Detta kommer att användas för att bibehålla bildförhållandet och skapa paddningen. - Ställ in
content-egenskapen för::afterpseudo-elementet till en tom sträng. Detta är nödvändigt för att skapa elementet. - Ställ in
padding-bottom-egenskapen för::afterpseudo-elementet till ett procentvärde som motsvarar bildförhållandet för bilden. Till exempel, om din bild har ett bildförhållande på 4:3, skulle du ställa in padding till75%(eftersom 3/4 = 0,75). Detta kommer att skapa paddningen under bilden. - Ställ in
position-egenskapen för::afterpseudo-elementet tillabsolute. Detta kommer att positionera elementet inom containern. - Ställ in
top,left,bottom, ochright-egenskaperna för::afterpseudo-elementet till0. Detta kommer att få elementet att fylla containern och skapa paddningen. - Slutligen, ställ in
position-egenskapen för själva bilden tillabsolute. Detta gör att du kan centrera bilden inom containern med hjälp avtop,left,bottom, ochright-egenskaperna.
Här är ett exempel på CSS-koden som du skulle använda för att centrera och paddda en bild med ett bildförhållande på 4:3:
.container {
position: relative;
width: 100%;
}
.container::after {
content: "";
display: block;
padding-bottom: 75%; /* 4:3 bildförhållande */
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
img {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
max-width: 100%;
max-height: 100%;
}
I detta exempel är .container elementet containern för bilden. ::after pseudo-elementet används för att skapa paddningen och bibehålla bildförhållandet för bilden. img-elementet är inställt på position: absolute så att det kan centreras inom containern med hjälp av top, left, bottom, och right-egenskaperna.
Genom att ställa in egenskaperna max-width och max-height för bilden till 100%, kommer bilden skalas för att passa det tillgängliga utrymmet medan dess bildförhållande bibehålls. Detta innebär att paddningen skapad av ::after pseudo-elementet alltid kommer att vara proportionell till storleken på bilden.