1

Cómo elaborar un tablero de ajedrez en HTML y CSS flexbox y css-grid.

Este va a ser un ajedrez de 8 x 8.

¿Cómo lo hice?

  1. Definí un contenedor principal (.container), a este lo dividí en 8 filas (.item-container), y estas filas las dividí en 8 cuadros (.item).
  2. El tamaño total de mi ajedrez es de 400px por 400px, este (.container) tendrá un display:flex y flex-direction:column para que los item-container estén ubicados uno bajo el otro (en una columna).
  3. A las filas (item-container) les puse un display:inline-grid (hará las divisiones en 8 columnas) fraccionadas iguales con la opción grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; con una altura de 50px (para que me de 400px que el total del container)
  4. Para los colores, utilicé las opciones :nth-child(even) y :nth-child(odd), para poder poner los fondos en negro/blanco negro/blanco …

El código quedó así:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
            display: flex;
            height: 400px;
            width: 400px;
            background-color: aliceblue;
            flex-direction: column;
        }
        .item-container{
            height: 50px;
            width: 100%;
            display: inline-grid; 
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
            grid-template-rows: 1fr;
        }

        .item-container:nth-child(even) .item:nth-child(even){
            background-color: black;
        }
        .item-container:nth-child(odd) .item:nth-child(odd){
            background-color: black;
        }
    </style>
</head>
<body>
    <divclass="container">
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
        <divclass="item-container">
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
            <divclass="item"></div>
        </div>
    </div>
    
</body>
</html>```
Escribe tu comentario
+ 2