2010-09-14 18 views
7

Me pregunto si me puede ayudar a colocar dos divs, mainContent y sideContent uno al lado del otro?Elementos de posicionamiento CSS uno al lado del otro

HTML:

<div id='main'> 
    <div id='mainContent'> 
    </div> 
    <div id='sideContent'> 
    </div> 
</div> 

CSS: #

#main { width: 100%; min-height: 400px; 
    background: #0A3D79; /* for non-css3 browsers */ 
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(20,114,199)), to(rgb(11,61,122))); /* for webkit browsers */ 
    background: -moz-linear-gradient(top, rgb(20,114,199), rgb(11,61,122));} /* for firefox 3.6+ */ 
    /*gradient code from http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient*/ 

    #mainContent { width: 75%; margin-top: 20px; padding-bottom: 10px; min-height: 400px; background-color: blue; } 
    #sideContent { width: 22%; margin-top: 20px; padding-bottom: 10px; min-height: 400px; background-color: red; border-style: solid; border-left-width: 3px; border-left-color: white;border-right-width:0px;border-top-width:0px;border-bottom-width:0px;} 

he incluido todo el css porque no estaba seguro de lo que tiene exactamente un efecto en este tipo de cosas. Además, he intentado hacer que SideContent y mainContent se muestren en línea, pero parecen desaparecer. ¿Alguna idea de por qué?

Respuesta

10

Si desea que se muestren uno al lado del otro, ¿por qué sideContent es hijo de mainContent? haga que sus hermanos luego usen:

float:left; display:inline; width: 49%; 

en ambos.

#mainContent, #sideContent {float:left; display:inline; width: 49%;} 
+0

Mi error, en mi la implementación real fueron hermanos. He revisado y editado la publicación original, probaré su implementación en breve. ¡Gracias! – djs22

+0

sin preocupaciones! :) – sheeks06

+0

Funciono perfectamente pero por alguna razón ya no heredo el fondo. ¡Gracias por la ayuda! Me voy a explorar ese problema ... ¡cualquier consejo sería genial! – djs22

0

Si usted no sabe cuántos elementos se utilizará, o queremos que tengan la anchura normal, la única otra forma es utilizar una tabla:

<div id='main'> <table> <tbody> 
    <tr> 
    <td><div id='mainContent'></div></td> 
    <td><div id='sideContent'></div></td> 
    </tr> 
</tbody> </table> </div> 
+0

El elemento '

' nunca es necesario para el diseño. Las reglas de diseño de tabla se pueden aplicar a cualquier elemento usando 'display: table-cell' y' display: table-row'. También hay Flexbox ('display: flex') y CSS Grid Positioning (' display: grid'). – Dai

Cuestiones relacionadas