Este comportamiento se puede lograr utilizando tablas, al igual que con este código:ancho Hacer de todos los elementos iguales basa en más ancha
<style>
table {
table-layout:fixed;
width:100%;
}
td {border:1px solid red;}
</style>
<table>
<tr>
<td>Hello</td>
<td>WWWWWWWWWWWWWWWWWWWWWW</td>
</tr>
</table>
salida de esto será lo que quiera:
|Hello |WWWWWWWWWWWWWWWWWWWWWW|
Pero esta solución no envuelve elementos dentro (en este caso, tds) a una nueva línea si no se ajusta al ancho de la pantalla. Entonces me gustaría hacer esto usando divs y css. Si yo uso:
<style>
#eq > div {
width: 400px;
float: left;
}
</style>
<div id="eq">
<div>Hello</div>
<div>WWWWWWWWWWWWWWWWWWWWWW</div>
</div>
seguro de que funciona y salidas misma, pero, por supuesto, el texto y el número de elementos en el interior #eq son variables! Entonces, si el texto "WWWWWWWWWWWWWWWWWWWWWW" cambiará a "lol", los elementos serán absurdamente anchos. Por otro lado, si lo cambio a texto más largo, entonces el ancho definido, el ancho de todos los otros elementos más pequeños será más pequeño. Así que la pregunta final es: ¿Cómo puedo hacer que el ancho de todos los elementos sea tan ancho como el más ancho con la capacidad de ajustar usando html puro & css y sin especificar manualmente el ancho?
Me sorprendería que haya una única solución CSS para esto, estoy bastante seguro de que necesitará JavaScript o similar para hacer el cálculo, esto es muy simple de lograr con jquery. – Blowsie
Sí, pienso lo mismo, pero eso solo muestra cómo css aún es pobre en ciertas cosas frente a soluciones arcaicas como las tablas. Qué lástima. Javascript para el diseño común es malo. – gadelat
JavaScript en el diseño es muy común, los navegadores modernos se están enfocando en el desempeño de JavaScript y las bibliotecas de JavaScript como Jquery hacen que escribir JavaScript sea muy simple. Cualquier persona con JavaScript deshabilitado en su navegador será la minoría. La mayoría de los sitios web modernos cuentan con JavaScript para que funcionen correctamente. – Blowsie