1

Tablero de Ajedrez Browser

Una creación super básica de un Tablero de Ajedrez formato browser, lo más documentado posible y sencillo de entender:

/* Configuracion Global */body {
    height: 100vh;
    min-height: 870px;
    font-family: sans-serif;
    color: #c4c8ce;
    background-color: #1e2229;
    margin: 0;
}
body,
header,
footer,
section {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
}
header,
footer {
    flex-direction: row;
}
headerdiv,
footerdiv {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;

}
section {
    display: flex;
    align-content: center;
}

Creamos una pequeña utilidad para reusar en varios sectores:

/* Utilidades */.bg-black {
    background-color: #0ae98a;
}
.bg-white {
    background-color: #ffffff;
}

Nombre del jugador y puntaje Header y Footer de la interfaz gráfica:

/* Textos de la interfaz */.playerh1,
.scoreh2 {
    color: #ffffff;
    margin-top: 0;
}
.playerp,
.scorep {
    margin: 0;
}
.playerpspan,
.scorepspan {
    font-weight: 600;
    color: #1e2229;
    padding: 0.1rem0.2rem;
    margin: 05px;
}
.piece{
    font-size: 40px;
}
.piece.black{
    color: #0ae98a;
}
.piece.white{
    color: #c4c8ce;
}


/* Puntaje de la interfaz */.scoreul {
    display: flex;
    justify-content: end;
    margin: 0;
    padding: 0;
    list-style: none;
}
.scoreli {
    display: inline-block;
    width: 20px;
    margin: 01rem;
}
.scoreli:first-child {
    margin-left: 0;
}
.scoreli:last-child {
    margin-right: 0;
}
.score.piece{
    font-size: 20px;
}

Creación del tablero, coloración, grillas y posicionamiento en capas, lo más documentado posible y sencillo de entender:

/* Tablero en la interfaz */.board-wrapper {
    width: 602px;
    border: 2px solid #000000;
    position: relative;
}
.board {
    width: 100%;
    height: 100%;
    position: relative;
}
.board-row {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(1, 1fr);
}
.board-rowdiv,
.board-rowdiva {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}
.board-rowdiva{
    width: 100%;
    text-decoration: none;
}
.board-rowdiva:hover::after{
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #ffffff;
    position: absolute;
}
.board-row:nth-child(1n)div:nth-child(1n) {
    background-color: #1e2229;
}
.board-row:nth-child(1n)div:nth-child(2n) {
    background-color: #000000;
}
.board-row:nth-child(2n)div:nth-child(1n) {
    background-color: #000000;
}
.board-row:nth-child(2n)div:nth-child(2n) {
    background-color: #1e2229;
}
.board-row:first-childdiv:nth-child(1n),
.board-row:nth-child(1n)div:first-child,
.board-row:last-childdiv:nth-child(1n),
.board-row:nth-child(1n)div:last-child {
    width: 100%;
    height: 58px;
    align-items: center;
    background-color: transparent;
}
.board.pieces{
    position: absolute;
    top: 0;
}
.board.pieces.board-rowdiv {
    background-color: hsl(180deg 100% 50% / 20%);
}
.board.pieces.board-row:nth-child(1n)div:nth-child(1n),
.board.pieces.board-row:nth-child(1n)div:nth-child(2n),
.board.pieces.board-row:nth-child(2n)div:nth-child(1n),
.board.pieces.board-row:nth-child(2n)div:nth-child(2n) {
    background-color: transparent;
}

Y por último el HTML completo con las fichas en formato Símbolo Unicode, para poderse apreciar y cargar mucho más rápido en el navegador:

<!-- Cabezera --><header><!-- Datos del primer jugador --><divclass="player"><h1>Player One</h1><p>Pieces <spanclass="bg bg-black">Black</span></p></div><!-- Estadísticas del jugador --><divclass="score"><h2>Score: 000</h2><ul><liclass="piece white"title="Black Roock L"></i></li><liclass="piece white"title="Black Knight L"></i></li></ul></div></header><!-- End --><!-- Seccion --><section><divclass="board-wrapper"><!-- Tablero de fondo con guia --><divclass="board"><divclass="board-row"><div></div><div>a</div><div>b</div><div>c</div><div>d</div><div>e</div><div>f</div><div>g</div><div>h</div><div></div></div><divclass="board-row"><div>8</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>8</div></div><divclass="board-row"><div>7</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>7</div></div><divclass="board-row"><div>6</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>6</div></div><divclass="board-row"><div>5</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>5</div></div><divclass="board-row"><div>4</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>4</div></div><divclass="board-row"><div>3</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>3</div></div><divclass="board-row"><div>2</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>2</div></div><divclass="board-row"><div>1</div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div>1</div></div><divclass="board-row"><div></div><div>a</div><div>b</div><div>c</div><div>d</div><div>e</div><div>f</div><div>g</div><div>h</div><div></div></div></div><!-- Tablero absoluto de las piezas --><divclass="board pieces"><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><divclass="board-row"><div></div><div><ahref="#"class="piece black"title="Black Roock L"></a></div><div><ahref="#"class="piece black"title="Black Knight L"></a></div><div><ahref="#"class="piece black"title="Black Bishop L"></a></div><div><ahref="#"class="piece black"title="Black Queen"></a></div><div><ahref="#"class="piece black"title="Black King"></a></div><div><ahref="#"class="piece black"title="Black Bishop R"></a></div><div><ahref="#"class="piece black"title="Black Knight R"></a></div><div><ahref="#"class="piece black"title="Black Rook R"></a></div><div></div></div><divclass="board-row"><div></div><div><ahref="#"class="piece black"title="Black Pawn A"></a></div><div><ahref="#"class="piece black"title="Black Pawn B"></a></div><div><ahref="#"class="piece black"title="Black Pawn C"></a></div><div><ahref="#"class="piece black"title="Black Pawn D"></a></div><div><ahref="#"class="piece black"title="Black Pawn E"></a></div><div><ahref="#"class="piece black"title="Black Pawn F"></a></div><div><ahref="#"class="piece black"title="Black Pawn G"></a></div><div><ahref="#"class="piece black"title="Black Pawn H"></a></div><div></div></div><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div><divclass="board-row pieces-black"><div></div><div><ahref="#"class="piece white"title="White Pawn A"></a></div><div><ahref="#"class="piece white"title="White Pawn B"></a></div><div><ahref="#"class="piece white"title="White Pawn C"></a></div><div><ahref="#"class="piece white"title="White Pawn D"></a></div><div><ahref="#"class="piece white"title="White Pawn E"></a></div><div><ahref="#"class="piece white"title="White Pawn F"></a></div><div><ahref="#"class="piece white"title="White Pawn G"></a></div><div><ahref="#"class="piece white"title="White Pawn H"></a></div><div></div></div><divclass="board-row pieces-black"><div></div><div><ahref="#"class="piece white"title="White Roock L"></a></div><div><ahref="#"class="piece white"title="White Knight L"></a></div><div><ahref="#"class="piece white"title="White Bishop L"></a></div><div><ahref="#"class="piece white"title="White Queen"></a></div><div><ahref="#"class="piece white"title="White King"></a></div><div><ahref="#"class="piece white"title="White Bishop R"></a></div><div><ahref="#"class="piece white"title="White Knight R"></a></div><div><ahref="#"class="piece white"title="White Rook R"></a></div><div></div></div><divclass="board-row"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div></div></section><!-- End --><!-- Footer --><footer><!-- Datos del segundo jugador --><divclass="player"><h1>Player Two</h1><p>Pieces <spanclass="bg bg-white">White</span></p></div><!-- Estadísticas del jugador --><divclass="score"><h2>Score: 000</h2><ul><liclass="piece black"title="Black Roock L"></i></li><liclass="piece black"title="Black Knight L"></i></li></ul></div></footer><!-- End -->

Deberia verse de esta manera:

Gracias por su tiempo y espero que les guste, saludos.

Escribe tu comentario
+ 2