No hay suficiente información. ¿Qué tan anchas son las capas?
Josh Stodola
8
Me gustaría display: inline-blockesos tipos en lugar de flotarlos. Si sus anchos son en total menores que el ancho del contenedor, se sentarán uno al lado del otro.
¿Qué sucede si desea que todos se expandan a medida que se expande la página?
CodyBugstein
31
@imray solo usa% en lugar de px
TehTris
9
¿Podría explicar por qué usar <br style="clear: left;" />ese estilo en particular?
Mike de Klerk
2
@MikedeKlerk es una solución clara, para evitar que el padre se derrumbe.
Angel Politis
como explicó @Nick Craver, debe dar a todos sus elementos la propiedad flotante: izquierda . Esto sucede porque la propiedad flotante especifica cómo se coloca el elemento a lo largo del lado izquierdo o derecho de su contenedor principal .
Pero DIV es un elemento de nivel de bloque, ¿verdad? Entonces, ¿cómo es que se colocan uno al lado del otro y no en las siguientes líneas (a medida que los elementos de nivel de bloque comienzan y terminan con un salto de línea). ¿El flotador tiene algún otro efecto también?
Ashwin
26
flotarlos todos a la izquierda
asegúrese de que se especifique un ancho para que todos puedan caber en su contenedor (ya sea otro div o la ventana), de lo contrario, se envolverán
ese código que alguien publicó allí, ¡funcionó! cuando lo pego justo antes de cerrar el DIV de contenedor, ¡ayuda a eliminar todos los DIV posteriores que se superpongan con los DIV que he creado uno al lado del otro en la parte superior!
<div><divclass="left"></div><divclass="left"></div>
...
...
<divclass="left"></div><!-- then magic trick comes here --><brstyle="clear: left;"/></div>
El punto es que mi respuesta es la más correcta y cuando una nueva persona esté buscando esta Q en Internet, se encontrará con mi respuesta, que sería la más útil para ellos.
Arwen
2
Podría ser. Pero le falta alguna explicación. Está bien en este sitio copiar otras respuestas, fusionando múltiples respuestas parciales en una mejor respuesta combinada. Podrías editar y completar el tuyo. Sin embargo, los nuevos usuarios tienen algunas restricciones (votación positiva, pocos enlaces), por lo que aún así recomendaría no centrarse en las preguntas antiguas y respondidas.
cfi
@cfi gracias, lo guardaré para referencia futura.
Arwen
10
Por lo general, floto el primero a la izquierda, el segundo a la derecha. El tercero se alinea automáticamente entre ellos entonces.
¿Eso no causa problemas cuando se cambia el tamaño del navegador?
CodyBugstein
10
<style>.left-column
{float:left;width:30%;background-color:red;}.right-column
{float:right;width:30%;background-color:green;}.center-column
{margin:auto;width:30%;background-color:blue;}</style><divid="container"><sectionclass="left-column">THIS IS COLUMN 1 LEFT</section><sectionclass="right-column">THIS IS COLUMN 3 RIGHT</section><sectionclass="center-column">THIS IS COLUMN 2 CENTER</section></div>
La ventaja de esta manera es que puede establecer el ancho de cada columna independientemente de la otra, siempre que lo mantenga por debajo del 100%, si usa 3 x 30%, el 10% restante se divide como un espacio divisor del 5% entre las columnas
ACTUALIZADO: Por supuesto, para usar esta técnica y debido al posicionamiento absoluto, debe encerrar los divs en un contenedor y realizar un procesamiento posterior para definir la altura de if, algo como esto:
Por supuesto, para usar esta técnica y debido al posicionamiento absoluto, debe encerrar los divs en un contenedor y realizar un procesamiento posterior para definir la altura de if, algo como esto:
jpbourbon
jQuery (documento) .ready (function () {jQuery ('. main'). height (Math.max (jQuery ('. column-left'). height (), jQuery ('. column-right'). height (), jQuery ('. columna-centro'). altura ()));}); No es lo más asombroso del mundo, pero al menos no se rompe con los IE más antiguos.
jpbourbon
4
¿Pero funciona en Chrome?
Flota cada div y deja claro; ambos para la fila. No es necesario establecer anchos si no lo desea. Funciona en Chrome 41, Firefox 37, IE 11
<divclass="stack"><divclass="row"><divclass="col">
One
</div><divclass="col">
Two
</div></div><divclass="row"><divclass="col">
One
</div><divclass="col">
Two
</div><divclass="col">
Three
</div></div></div>
display: inline-block
esos tipos en lugar de flotarlos. Si sus anchos son en total menores que el ancho del contenedor, se sentarán uno al lado del otro.Respuestas:
Solo dales un ancho y
float: left;
, aquí hay un ejemplo:fuente
<br style="clear: left;" />
ese estilo en particular?La forma moderna es usar CSS flexbox , ver tablas de soporte .
También puede usar la cuadrícula CSS , consulte las tablas de soporte .
fuente
Es lo mismo que haces para los dos divs, solo flota el tercero a izquierda o derecha también.
fuente
flotarlos todos a la izquierda
asegúrese de que se especifique un ancho para que todos puedan caber en su contenedor (ya sea otro div o la ventana), de lo contrario, se envolverán
fuente
ese código que alguien publicó allí, ¡funcionó! cuando lo pego justo antes de cerrar el DIV de contenedor, ¡ayuda a eliminar todos los DIV posteriores que se superpongan con los DIV que he creado uno al lado del otro en la parte superior!
tadaa !! :)
fuente
Flota los tres divs a la izquierda. Como aquí:
fuente
Por lo general, floto el primero a la izquierda, el segundo a la derecha. El tercero se alinea automáticamente entre ellos entonces.
fuente
La ventaja de esta manera es que puede establecer el ancho de cada columna independientemente de la otra, siempre que lo mantenga por debajo del 100%, si usa 3 x 30%, el 10% restante se divide como un espacio divisor del 5% entre las columnas
fuente
puede flotar: izquierda para todos ellos y establecer el ancho en 33.333%
fuente
intenta agregar "display: block" al estilo
fuente
No vi la respuesta de arranque, así que para lo que vale:
deje que Bootstrap calcule los porcentajes. Me gusta aclarar ambos, por si acaso.
fuente
Prefiero este método, los flotadores no son compatibles con versiones anteriores de IE (¿en serio? ...)
ACTUALIZADO: Por supuesto, para usar esta técnica y debido al posicionamiento absoluto, debe encerrar los divs en un contenedor y realizar un procesamiento posterior para definir la altura de if, algo como esto:
No es lo más asombroso del mundo, pero al menos no se rompe con los IE más antiguos.
fuente
¿Pero funciona en Chrome?
Flota cada div y deja claro; ambos para la fila. No es necesario establecer anchos si no lo desea. Funciona en Chrome 41, Firefox 37, IE 11
Haga clic para JS Fiddle
HTML
CSS
fuente
Así es como logré hacer algo similar a esto dentro de un
<footer>
elemento:CSS:
fuente
@Leniel, este método es bueno, pero debe agregar ancho a todos los div flotantes. Yo diría que sean del mismo ancho o asignen un ancho fijo. Algo como
puede asignar nombres de clase a cada div en lugar de agregar
inline style
, lo cual no es una buena práctica.Asegúrese de usar un clearfix div o clear div para evitar que el contenido siguiente permanezca debajo de estos div.
Puede encontrar detalles sobre cómo usar clearfix div aquí
fuente