2009-11-24 70 views
2

內的兩個浮動的div我敢肯定,這是一個普遍的問題,但找不到確切的答案:)CSS:如何讓另一個DIV

我還有一個DIV中兩個div。我想讓兩個div位於同一層,一個浮動到左邊,另一個在右邊。但是,除非父母使用position: absolute,否則他們不會進入父分區。但隨後兒童的div不會停留在同一水平上:S

 
#main { 
    margin-left: 30px; 
    margin-top: 20px; 
    position: absolute; 
} 

#left_menu { 
    width: 150px; 
    float: left; 
} 

#content { 
    margin-left: 20px; 
    float: right; 
    border: 1px solid white; 
} 

    <div id ="main"> 
    <div id ="left_menu>&blablabal</div> 
    <div id ="content">blablb</div> 
    </div> 

回答

5

您的margin-left#content應該包括寬度#left_menu。因此,應

#content { 
    margin-left: 170px; 
    /* float: right; */ /* no need for a float here */ 
    border: 1px solid white; 
} 

你也不需要爲您的#main(除非其他目的)一position:absolute

所以最後:

<style type="text/css"><!-- 
#main { 
    margin-left: 30px; 
    margin-top: 20px; 
} 

#left_menu { 
    width: 150px; 
    float: left; 
} 

#content { 
    margin-left: 170px; 
    border: 1px solid white; 
} 
.c{clear:both;} 
--></style> 
    <div id="main"> 
    <div id="left_menu>&amp;blablabal</div> 
    <div id="content">blablb</div> 
    </div> 
    <div class="c"></div> 

.c是清除和關閉推底部內容漂浮物。

+0

很高興幫助! – mauris 2009-11-24 15:11:41

+0

這只是幫了我很多 - 除了讓它適用於我當前的頁面佈局,我不得不在'content'div中添加'display inline block'和'position fixed'。 – Reno 2011-03-27 19:39:39

1

,您將需要「浮動」的主要格,或使用清除內容後<div><br>和左菜單<div>秒。

0

做的最好的和最簡單的事情就是設置overflow: hidden在容器上,#main。我不想認爲雖然這在IE6中起作用。

0

先給主要DIV的overflow: hidden;並帶走它position: absolute; 這將給它的高度相當於浮動的div

另外的更高的高度,我不知道您從網頁複製它,但是你遺漏了你的左邊的一個關閉引用ID =「」

2

這是怎麼回事,它與你的容器的寬度有關。

這適用於我。

<style type="text/css"><!-- 
     .Content{ 
     Width:100%; 
     } 

     .FloatLeft{ 
     float:left; 
     } 
     .FloatRight{ 
     float:Right; 
     } 
--> 
    </style> 

     <div class="Content"> 
     <div class="FloatLeft"></div> 
     <div class="FloatRight"></div> 
     </div>