2012-07-26 34 views
27

siento chicos para el muy simple pregunta, pero he tratado de flotar una izquierda div y uno derecho con anchos predefinidos a lo largo de estas líneaspágina dividida verticalmente usando CSS

<div style="width: 100%;"> 
    <div style="float:left; width: 80%"> 
    </div> 
    <div style="float:right;"> 
    </div> 
</div> 

Aunque esta 'mayoría' obras parece que meterse los otros elementos en la página debajo de él.

Entonces, ¿cuál es la razón por la cual dividir una página HTML verticalmente en dos partes usando CSS sin afectar a otros elementos en la página?

Respuesta

36

puede utilizar ..

<div style="width: 100%;"> 
    <div style="float:left; width: 80%"> 
    </div> 
    <div style="float:right;"> 
    </div> 
</div> 
<div style="clear:both"></div> 

ahora por debajo de este elemento no se verá afectado.

+3

Si bien esto funcionaría, se considera una mala práctica agregar elementos cuya única función es "borrar el contenido". –

+6

¿Cuál es la mejor práctica en estos casos, entonces? (Me he estado preguntando por un tiempo cómo evitar los "divs" de clearfix) –

+0

¿Qué sucede si necesito una línea entre ellos? no puedo usar el borde izquierdo | derecho ya que no sé cuál será más grande todo el tiempo ... – gcb

9

Solo agregue desbordamiento: automático; div a los padres

<div style="width: 100%;overflow:auto;"> 
    <div style="float:left; width: 80%"> 
    </div> 
    <div style="float:right;"> 
    </div> 
</div> 

Working Demo

+1

acaba de poner 'height: 400px;' en ambos lados. – gcb

6

supongo que sus elementos en la página meta la pata porque no limpiar su flota, mira esto

Demo

HTML

<div class="wrap"> 
    <div class="floatleft"></div> 
    <div class="floatright"></div> 
    <div style="clear: both;"> 
</div> 

CSS

.wrap { 
    width: 100%; 
} 

.floatleft { 
    float:left; 
    width: 80%; 
    background-color: #ff0000; 
    height: 400px; 
} 

.floatright { 
float: right; 
    background-color: #00ff00; 
    height: 400px; 
    width: 20%; 
} 
3

También puede haber una solución teniendo ambos float a left.

Trate de hacer esto:

Working Demo

P. S. Esto es sólo una mejora de la respuesta de Ankit

3

Control hacia fuera este violín:

http://jsfiddle.net/G6N5T/1574/

código CSS/HTML:

.wrap { 
 
    width: 100%; 
 
    overflow:auto; 
 
} 
 

 
.fleft { 
 
    float:left; 
 
    width: 33%; 
 
background:lightblue; 
 
    height: 400px; 
 
} 
 

 
.fcenter{ 
 
    float:left; 
 
    width: 33%; 
 
    background:lightgreen; 
 
    height:400px; 
 
    margin-left:0.25%; 
 
} 
 

 
.fright { 
 
float: right; 
 
    background:pink; 
 
    height: 400px; 
 
    width: 33.5%; 
 
    
 
}
<div class="wrap"> 
 
    <!--Updated on 10/8/2016; fixed center alignment percentage--> 
 
    <div class="fleft">Left</div> 
 
    <div class="fcenter">Center</div> 
 
    <div class="fright">Right</div> 
 
</div>

Esto nos es la propiedad CSS float para las alineaciones izquierda, derecha y central de div s en una página.

+0

Este fragmento es simplemente una modificación de [este jsFiddle (click me!)] (Http://jsfiddle.net/G6N5T/). – Stardust

Cuestiones relacionadas