Estoy tratando de mostrar 3 elementos DOM seguidos. El primero y el tercero son div s con width y height constantes, el del medio es texto y puede crecer. La altura de 1 y 3 tiene que ser igual a la altura de una sola línea de texto.
El problema comienza cuando el elemento de texto crece. Me gustaría mostrar 1 antes de la primera línea de texto y 3 justo donde termina el texto.
La combinación de dos cambios me ayudó a lograr esto:
flex-wrap: wrap para parentContainer .parentContainer { display: flex; flex-direction: row; flex-wrap: wrap; }<span>...</span>Aunque este enfoque muestra los elementos correctamente, tengo dos problemas con él
En lugar de usar el algoritmo de salto de línea Unicode, tengo que dividir el texto en palabras yo mismo. Desafortunadamente, no se garantiza que el texto tenga espacios en blanco.
El doble clic del mouse solo selecciona texto dentro de un solo lapso en lugar de todo el texto.
Me pregunto si hay un enfoque diferente que no sea propenso a los problemas descritos anteriormente.
Creo que la clave para lograr esto podría ser usar css para establecer la propiedad de visualización de los íconos/divs en inline . Puede que tengas que jugar con los tamaños para obtener las cosas como las quieres, pero hacer que la imagen sea un elemento en línea te permite tratarla como si fuera una palabra más.
En este ejemplo, vinculé una imagen para simular sus elementos delimitadores.
img { width: 30px; aspect-ratio: 1; display: inline; vertical-align: middle; } <img src="https://stackoverflow.design/assets/img/logos/sf/sf-icon.svg" /> text text here text here more text here even more text here text here more text here even more text<img src="https://stackoverflow.design/assets/img/logos/sf/sf-icon.svg" />