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

405
Vistas
In reactjs, how do I distribute components horizontally across an encompassing div?

So I'm new to react and for the life of me I can't figure out how to make something like this: tic-tac-toe grid

I'm having trouble making a row component that renders a div with three different square components, distributed horizontally across the div. When I compile my code all the squares in a row are fixed to the same spot. How do I fix this, please?

my current code:

App.css


.Row {
  text-align: center;
  position: absolute;
  left: 35%;
  right: 50%;
  top: 25%;
  
  width: 25%;
  height: 25%;

  display: flex;

  
}
.Square {
  position: absolute;
  
  width: 70px;
  height: 70px;
  border-color: #99ccff;
  text-align: center;
  font-size: xx-large;
  font-family: 'Courier New', Courier, monospace;
}
/* .Row {

} */

Square.js

import React from 'react';
import ReactDOM from 'react-dom';

export function Square(props){
    // Square is rendered by App

    return(
        <div >
            <button className='Square'> X </button>
        
        </div>
               
    );
}

App.js

import logo from './logo.svg';
import './App.css';
import { Row } from './components/Row';

function App() {
  // App renders Row
  return (
    <Row />
  );
}

export default App;

Row.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Square } from './Square';

export function Row() {

    return(
        <div className='Row'>
            <Square />
            <Square />
            <Square />
        </div>
    )
}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

import "./styles.css";

export default function App() {
  return (
    <div className={"row"}>
      <Square />
      <Square />
      <Square />
    </div>
  );
}

export function Square(props) {
  // Square is rendered by App

  return (
    <div className={"column"}>
      <button className="Square"> X </button>
      <button className="Square"> X </button>
      <button className="Square"> X </button>
    </div>
  );
}

Styles.css file

.App {
  font-family: sans-serif;
  text-align: center;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

Read this article to get more understanding about flex: https://css-tricks.com/snippets/css/a-guide-to-flexbox/

about 4 years ago · Juan Pablo Isaza Denunciar

0

You can try to remove position: absolute in Square class:

.Square {
  width: 70px;
  height: 70px;
  border-color: #99ccff;
  text-align: center;
  font-size: xx-large;
  font-family: 'Courier New', Courier, monospace;
}
about 4 years ago · Juan Pablo Isaza 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