Mi sugerencia es tener las fichas absolutamente posicionadas dentro del tablero, guardar en HTML (tiempo de transferencia) y cálculos de posición (tiempo de carga) en el navegador. JS para registrar los clics y manejarlo (menos HTML = menos transferencia y tiempo de carga).
Por lo tanto, usted podría tener esta base de CSS:
#board {
display: block;
width: [BoardWidth]px; /* TileWidth * NumberOrColumns */
height: [BoardHeight]px; /* TileHeight * NumberOfRows */
position: relative;
}
.tile {
display: block;
width: [TileWidth]px;
height: [TileHeight]px;
float: left;
}
luego tener el código HTML generado así:
<div id="board">
<div class="tile" style="position: absolute; left:0px; top:0px;"></div>
<div class="tile" style="position: absolute; left:20px; top:0px;"></div>
<div class="tile" style="position: absolute; left:40px; top:0px;"></div>
<div class="tile" style="position: absolute; left:60px; top:0px;"></div>
<div class="tile" style="position: absolute; left:0px; top:20px;"></div>
<div class="tile" style="position: absolute; left:20px; top:20px;"></div>
<div class="tile" style="position: absolute; left:40px; top:20px;"></div>
<div class="tile" style="position: absolute; left:60px; top:20px;"></div>
<div class="tile" style="position: absolute; left:0px; top:40px;"></div>
<!--(...)-->
</div>
en el que cada baldosa tiene una posición left: [X*TileWidth]px; top: [Y*TileHeight]px;
.
Eso o la sugerencia de David M.
También puede cortar el tiempo de carga de la página si se hace el tamaño de página más pequeño - por lo que, como sugirió, usando jQuery u otro marco de JavaScript para crear el detonante de la clic en cada div
sería ideal.
No soy muy inteligente, pero utilizando jQuery sería algo así como:
$(document).ready(function() {
$(".tile").click(function() {
// find out which square was clicked, and perhaps redirect to a page with get variables
});
});
¿Qué tipo de peso ligero quieres decir? Algunos interpretaron su pregunta como la optimización del rendimiento del HTML enviado desde el servidor al navegador. Pero creo que el tamaño DOM en el navegador también podría ser un problema, que podría no estar relacionado. –
Ambas formas: tanto la 'carga' en el servidor cuando se envía como la computadora del usuario cuando se carga el html. – Sotkra