Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

674
Visualizações
¿Cómo centrar horizontalmente el contenido de un div con css en React?

Tengo un HomeComponent como el siguiente:

 import "./Home.css"; import { Component } from "react"; import { Link } from "react-router-dom"; import axios from 'axios'; export default class Home extends Component { constructor(props) { super(props); this.state = { games: [], }; } componentDidMount() { // the games are retrieved asynchronously with a call to an API and the state is changed } render() { return <div className="center"> <Link className="btn btn-lg game-btn" to="/games/create"><i className="fa fa-play fa-fw"></i> Play a game!</Link> <div style={{marginTop: 20}}> {this.state.games.map((game) => { return <div className="row"> <div className="col col-2">Play as { game.blackPlayerId? "white" : "black" }</div> <div className="col col-2">{ game.timeLimit } minutes</div> <div className="col col-2">{ game.isRated ? "Rated" : "Unrated" }</div> <div className="col col-4"><Link className="btn btn-lg" to={ "/games/create/"+game.gameId }><i className="fa fa-play fa-fw"></i> Play a game!</Link></div> </div> })} </div> </div>; } }

En el archivo Home.css tengo:

 .center { text-align: center; justify-content: center; align-items: center; } .game-btn { background-color: #1e272e; color: white; width: 300px; height: 50px; font-size: larger !important; box-shadow: 0 4px 8px 0 rgb(0 0 0 / 30%), 0 6px 20px 0 rgb(0 0 0 / 25%); margin-top: 20px; }

Como puede ver en la siguiente imagen, el estilo Home.css se aplica correctamente pero el contenido no está correctamente centrado (el botón Reproducir está alineado al centro pero la fila no)

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Consulte esta respuesta de una pregunta similar para obtener más sugerencias. Recomendaría el enfoque n. ° 2, usando flexbox . Si desea que todo, incluido el botón, esté centrado en una sola fila, aplique lo siguiente en .center :

 .center { display: flex; align-items: center; justify-content: center; }

Para aplicar el estilo solo a los elementos en .row :

 .row { display: flex; align-items: center; justify-content: center; }

Flex se aplicará a los elementos secundarios de cualquier elemento al que lo agregue. Si desea que todos los .row estén centrados, aplique flex al div principal que rodea la función de map .

about 4 years ago · Juan Pablo Isaza Relatório

0

Solo necesita agregar display: flex a su class .center y mejor si elimina text-align: center . Si desea usar flex-box, necesita agregar display: flex al componente parental. Lea más aquí https://css-tricks.com/snippets/css/a-guide-to-flexbox/

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda