Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
Mostrar cada elemento de la matriz en el cuadro de cuadrícula una fila JS

Deseo mostrar cada carácter de mi matriz en un cuadro en una sola fila (ver imagen a continuación) usando javascript. resultado deseado

Cuando uso la cuadrícula, se muestra solo en una columna y, a veces, mi cuadro está vacío.

Aquí está mi siguiente código funcionando, pero solo muestra caracteres sin css

 var questionParse = JSON.parse(currentQuestion.question); //here is for example surreal //display letters in random order for (let i = questionParse.length; i >= 0; i--) { const randLetters = Math.floor(Math.random() * (i+1));//Var for random letter [questionParse[i], questionParse[randLetters]] = [questionParse[randLetters], questionParse[i]]; } questionTxt.innerHTML = questionParse.join(" "); //displays for example : rarsleu

Aquí está el código que probé pero se muestra en la columna y, a veces, da un cuadro vacío:

 //Parse string to create array of chars, here string can be as an example surreal var questionParse = JSON.parse(currentQuestion.question); //Display letters in random order for (let i = questionParse.length; i >= 0; i--) { var anagrammeLetter = document.createElement('span'); anagrammeLetter.className = "box"; const randLetters = Math.floor(Math.random() * (i+1));//Var for a random letter [questionParse[i], questionParse[randLetters]] = [questionParse[randLetters], questionParse[i]]; anagrammeLetter.textContent = questionParse[i]; questionTxt.appendChild(anagrammeLetter); }

Este es el estilo que uso, pero si tienes un estilo que usa viento de cola, también es perfecto para mí Estilo:

 .box { width: 60px; height: 60px; border: 2px solid var(--empty); margin: 4px; color: black; text-transform: uppercase; display: grid; place-items: center; font-family: Arial, Helvetica, sans-serif; font-size: 2.4rem;

}

Alguien tiene alguna idea ? Gracias por adelantado

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

display: grid; debe estar en el nodo principal de las letras.

 .box { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 10px; } .letter { border: 1px solid black; text-align: center; text-transform: uppercase; }
 <div class="box"> <div class="letter">s</div> <div class="letter">u</div> <div class="letter">r</div> <div class="letter">r</div> <div class="letter">e</div> <div class="letter">a</div> <div class="letter">l</div> </div>

about 4 years ago · Santiago Gelvez Denunciar

0

El modelo Flexbox también funcionará.

 // Have a container for your letters const letters = document.querySelector('.letters'); // Your string const str = 'surreal'; // Temporary array const html = []; // Iterate over the string and push new // letter elements into the array for (const letter of str) { html.push(`<div class="letter">${letter}</div>`); } // Add the joined up array of strings // as the HTML of your container letters.innerHTML = html.join('');
 .letters { display: flex; width 60%; justify-content: center; align-items: center; } .letter { font-size: 1.2em; padding: 0.2em 0.5em; border: 1px solid #565656; border-radius: 5px; text-transform: uppercase;} .letter:not(:last-child) { margin-right: 0.2em; }
 <div class="letters"></div>

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda