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

306
Visualizações
Cómo usar componentes con estilo para editar texto en componentes

Estoy usando componentes con estilo para mi proyecto ReactJS. Tengo algunas etiquetas h1 pero quiero modificar solo partes del texto para que sean de diferentes colores. Por ejemplo, del texto "Descubre nuevas suscripciones para lo que quieras". Estoy tratando de hacer que "Descubrir" tenga un color diferente.

Esto es lo que probé hasta ahora:

Creé una nueva función en la carpeta de componentes con estilo llamada (si la etiqueta h1 se llama InfoH3)

export const InfoH3Pink = estilo (InfoH3) color: #FA8072;

y colóquelo en el archivo de componentes alrededor de las etiquetas de texto:

 <InfoH3> <InfoH3Pink>Discover</InfoH3Pink> new subscription for whatever you'd like </InfoH3>

antes de rodearlo con la nueva etiqueta de componente con estilo

después de usar las nuevas etiquetas de componentes con estilo

Esto funciona pero crea una nueva línea. El "Descubrir" se convierte en una línea separada del resto del texto. Sin embargo, quiero que estén en la misma línea que el texto normal, excepto que el color sea diferente.

¿Algunas ideas?

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

0

Prueba esto

 <InfoH3Pink styles={{color: "red"}}>...</InfoH3Pink>
about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes arreglar esto de cualquiera de las 2 maneras:

  • Use un elemento <span> dentro de un elemento <h*> para aplicar estilos únicos
  • Establecer display: inline en la definición de estilo de <InfoH3Pink/>

Use un elemento <span> dentro de un elemento <h*> para aplicar estilos únicos

Una forma mejor que anidar un elemento <h1> dentro de otro <h1> sería usar el elemento <span> e intercalarlo entre el elemento <h1> . Esto se debe a que un elemento <span> siempre heredará los estilos del elemento principal <h*> que lo rodea; es un comportamiento HTML predeterminado. Este método es más semánticamente correcto desde una perspectiva HTML porque <h*> s no debería envolver otros <h*> s.

 export const InfoH3Pink = styled.span` color: #FA8072; `; // `<InfoH3Pink/>` will automatically inherit styles from <InfoH3/> // and still apply its own unique styles. <InfoH3> <InfoH3Pink>Discover</InfoH3Pink> &nbsp;new subscription for whatever you'd like </InfoH3>

Establecer display: inline en la definición de estilo de <InfoH3Pink/>

Sin embargo , si aún desea usar un elemento <h*> para el texto resaltado, puede configurar display: inline en la definición de estilo de <InfoH3Pink/> para que tome solo el ancho requerido.

 export const InfoH3Pink = styled(InfoH3)` color: #FA8072; display: inline; `;
about 4 years ago · Juan Pablo Isaza Relatório

0

Los elementos de encabezado (h1,h2,h3,h4,h5,h6) son por defecto :

display:block;

Esa es la razón por la que se mueven a otra línea. Para abordar eso, debe anular el componente InfoH3 la propiedad para:

display:inline

Entonces, debería verse como algo como esto:

 const InfoH3 = styled.h1`display:inline;` const InfoH3Pink = styled(InfoH3)`color: #FA8072;`

Pero hay una manera un poco mejor

Una de las cosas más importantes que debe recordar es la reutilización. Entonces, si tiene un mismo color en diferentes partes de su aplicación y se usa con diferentes encabezados, es un gran caso para que lo haga más dinámico. Para abordar eso, debe usar la etiqueta <span> en lugar de cambiar el atributo de encabezado principal. <span> es similar a <div> pero en lugar de ser display:block es display:inline . Por lo tanto, puede usarlo con diferentes encabezados y, si está envuelto alrededor del encabezado, hereda el tamaño de fuente, el peso, etc. Por lo tanto, puede usarlo con diferentes encabezados.

 const InfoH3 = styled.h1`display:inline;` const HeadingPink = styled.span`color: #FA8072;`
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