J'ai un document html utilisant la grille CSS :
<!DOCTYPE html> <html lang="en-IT"> <head> <title>Site</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .grid1 { display: grid; grid-template-columns: repeat(3, 1rem); grid-template-rows: repeat(3, 1rem); row-gap: 1px; column-gap: 1px; } .cell1 { fill:rgb(130, 190, 234); stroke-width:0; stroke:rgb(0,0,0); width: 100%; height: 100%; } </style> </head> <body id="mainBody"> <div class="grid1"> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg"> <rect class="cell1"/> </svg> </div> </body> </html>
Mais même si je règle les espaces entre les lignes et les colonnes à 1 px, j'obtiens toujours ceci :
Comme vous pouvez le voir, l'espacement de la première colonne et l'espacement des lignes ont une largeur de 2 pixels. Si j'augmente le nombre de lignes et de colonnes, le modèle se répète. Qu'ai-je fait de mal? Merci!
Essayez ce qui suit
Remplacement :
Remplacer par :
gap:1px est tout ce dont vous avez besoin.
Cependant, vous devez également définir la largeur et la hauteur de .grid1, par exemple :
Si vous n'êtes pas sûr de la largeur et de la hauteur, définissez-les simplement sur
width:auto; height:auto;
et laissez le contenu de la grille déterminer la largeur et la hauteur.