Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!