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

222
Vistas
Coloque div al lado derecho del texto

Tengo un div con un ancho fijo. Tiene dos hijos:

  1. El primero que contiene texto,
  2. El segundo es algo así como una "insignia" (solo un div con ancho y alto fijos).

Así que quiero lograr algo como esto: -

ingrese la descripción de la imagen aquí

Quiero que el segundo niño se ubique justo al lado del texto del primer niño

Intenté resolver este problema agregando display: flex al padre, pero el problema es que el primer hijo toma más ancho que su contenido (ejemplo en el fragmento a continuación)

Intenté agregar flex-basis: 0 al primer hijo, pero luego cada palabra comienza con una nueva línea, incluso si hay suficiente espacio para mostrar todo el texto en una línea.

Tal vez hay otra solución? Intenté resolver el problema usando un niño posicionado absoluto, pero también fallé.

 .parent { width: 150px; background: lightblue; display: flex; align-items: center; } .first-child { outline: 1px solid red; } .first-child span { outline: 1px solid white; } .second-child { outline: 1px solid blue; width: 20px; height: 10px; flex-shrink: 0; }
 <div class="parent"> <div class="first-child"> <span>Loooooooong teeeeeext</span> </div> <div class="second-child"> </div> </div> <br /><br /> <div class="parent"> <div class="first-child"> <span>Short text</span> </div> <div class="second-child"> </div> </div>

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Solo puede usar el width como min-content; para su elemento de texto.

Por ejemplo:

 width: min-content;
over 4 years ago · Santiago Trujillo Denunciar

0

¡Tal vez puedas intentar resolverlo con el código js después de documentReady!

 document.querySelectorAll('.first-child').forEach(t => {t.style.width=t.querySelector('span').offsetWidth+'px'}) 

 document.querySelectorAll('.first-child').forEach(t => {t.style.width=t.querySelector('span').offsetWidth+'px'})
 .parent { width: 150px; background: lightblue; display: flex; align-items: center; } .first-child { outline: 1px solid red; } .first-child span { outline: 1px solid white; } .second-child { outline: 1px solid blue; width: 20px; height: 10px; flex-shrink: 0; }
 <div class="parent"> <div class="first-child"> <span>Loooooooong teeeeeext</span> </div> <div class="second-child"> </div> </div> <br /><br /> <div class="parent"> <div class="first-child"> <span>Short text</span> </div> <div class="second-child"> </div> </div>

over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente use display: inline property en el texto derecho. y use display: block en div principal.

over 4 years ago · Santiago Trujillo 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