Creo que tu afirmación y tu pregunta se contestan con un simple
aprendiendo.
Si supones cosas, ya de entrada es malo porque no hay ninguna base sólida. Pero es que además ya suponiendo esas cosas no caes en que eso pueda ser un error y por lo tanto no lo revisas, porque ya has asumido que eso está bien
per se.
Así pues la cosa es aprender porqué las cosas funcionan como funcionan. Ayudando en el foro también se aprende mucho, un cliché que realmente es cierto.
Y ojo. Tienes dos elementos flotados, no son dos columnas, son elementos independientes. Meter la idea estructural de las tablas en CSS ya es un error de entrada, porque nada tiene que ver.
Lo de que funcione bien con el ancho, es porque los elementos flotados se computan como elementos de bloque pero el ancho es según su contenido, entonces para tener un buen control lo bueno es ponerle un ancho.
Hay otra forma de hacer que el segundo elemento ocupe automáticamente el resto, aunque si los dos son porcentajes, no tiene mucho sentido, pero supón que la barra lateral pueda tener un ancho fijo, entonces podrías hacer algo así:
Código CSS:
Ver original.barra_lateral {
float: left;
width: 200px;
}
.contenido_derecha {
overflow: hidden;
}
Es importante
no flotar .barra_contenido
. Así tal cual, el contenido ocuparía prácticamente el 100% menos los 200px que ocupa la barra. Que con CSS moderno, podrías simplemente indicar esto usando la función
calc()
:
Código CSS:
Ver original.barra_lateral {
float: left;
width: 200px;
}
.contenido_derecha {
float: left;
width: calc(100% - 200px);
}