Le titre de cette page est le nom de l'attribut qui va vous permettre de mettre une bordure autour d'un élément sans modifier ses dimensions.
Dans notre cas, l'attribut s'écrira: box-sizing:border-box;
Ce code va indiquer au programme que les dimensions choisies sont à appliquer à l'élément (ici, l'image) avec sa bordure.
Ainsi, dans mon exemple, j'ai créé un cadre de 338x600px avec une bordure extérieure de 4 px, ce qui fait que ce cadre mesure: 338+4+4=346px et 600+4+4=608px.
Je place dedans des images bordées d'un liseré blanc de 3px et je veux que ça rentre dans l'espace vide de mon cadre, soit 338x600px; je vais donc indiquer à chaque image de conserver sa largeur et hauteur avec bordure comprise.
J'ai placé un cadre texte, à côté du montage, avec images à survoler et j'ai également écrit le même attribut à ce cadre car, ne voulant pas que le texte colle à la bordure, j'ai défini un écart intérieur (padding) de 10px entre ce texte et la bordure, écart qui, comme la bordure, vient, en principe, s'ajouter aux dimensions du cadre; avec box-sizing:border-box;, cet espace intérieur sera compris dans la dimension choisie et non ajouté.
La différence entre les 2 cadres est l'épaisseur (4px) de la bordure du cadre de gauche, qui est ajoutée au cadre de gauche et non au cadre de droite.
Survolez chaque image.
<div id="pg">
<p id="r1"> </p><p id="r2"> </p><p id="r3"> </p><p id="r4"> </p><p id="r5"> </p><p id="r6"> </p>
</div>
<div id="pc">Texte<br />...</div>
<style><!--
#pg{position:relative; width:338px; height:600px; float:left; border:4px ridge grey;}
#pc{position:relative; width:850px; height:600px; float:left; text-align:center; padding:10px; box-sizing:border-box; font-size:12pt; border:4px ridge grey;}
#r1{position:absolute; z-index:1; transform:translate(0px,0px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/zjbEhwnhiBOWdQu9y-BXzkSgQec/1397.jpg);}
#r2{position:absolute; z-index:1; transform:translate(0px,100px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/699rGL5Cm5iJva5pm967h7FamfU/1402.jpg);}
#r3{position:absolute; z-index:1; transform:translate(0px,200px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/Yb_YoT6ZlEGKN9PHHSNCNJMLPGs/1404.jpg);}
#r4{position:absolute; z-index:1; transform:translate(0px,300px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/2D5FUHqFDET1IhqS3iPmmcOQHQ8/1407.jpg);}
#r5{position:absolute; z-index:1; transform:translate(0px,400px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/PpUPnw2Y_glxpVgiGKld54qIrJc/1097.jpg);}
#r6{position:absolute; z-index:1; transform:translate(0px,500px); width:338px; height:100px; box-sizing:border-box; border:3px solid white; transition:all 1s linear; background:url(https://ekladata.com/4nElX1YMHUNoq_iX6MxIGukZl3M/1408.jpg);}
#r1:hover, #r2:hover, #r3:hover, #r4:hover,#r5:hover, #r6:hover{z-index:10; height:600px; transform:translate(0px,0px);}
--></style>