2011-10-22 203 views
0

所以,我有一個包含兩個div的容器跳水。CSS寬度問題

#main_container { 
margin: 0 auto; 
width: 980px; 
padding: 0 0 0 0; 
border: none; 
} 
    .content_third { 
    display: inline-block; 
    width: 326px; 
    padding: 0 0 0 0; 
    border: none; 
    } 

    .content_two { 
    display: inline-block; 
    width: 653px; 
    vertical-align: top; 
    padding: 0 0 0 0; 
    border: none; 
    } 




<div id="main_container"> 
      <div class="content_third"> 
      hello world! 

      </div> 
      <div class="content_two"> 
      Hello World! 
      </div> 
     </div> 

div垂直堆疊,而不是像我需要的水平排列。寬度加起來(326px + 653px = 979px),所以我不知道爲什麼他們不會正確排列。有什麼想法發生在這裏?

回答

1

這將有助於查看HTML,但最好的猜測是,你有這樣的事情:

<div class="content_third"> 
    foo 
</div> 
<div class="content_two"> 
    bar 
</div> 

因爲兩者的div有display: inline-block;的div之間的空白變得有意義,即在它們之間添加空格字符。更改HTML,以便沒有空白(換行,空格)在所有的div之間:

<div class="content_third"> 
    foo 
</div><div class="content_two"> 
    bar 
</div> 
+0

** + 1 **爲正確的答案。打敗我吧/ – Eric

0

A <div>是一個塊級元素,每個元素根據定義開始一個新行。您可以使用style="display: inline"或使用<span>而不是<div>來更改。

+1

這就是爲什麼我添加了「內聯塊」的元素。如果我將兩個寬度中的任何一個減少2px,那麼這些方框就會排齊。 – Thomas

-1

只需將其添加到CSS中的div:display: inline;即可。

工作小提琴:http://jsfiddle.net/7WFxA/

+2

這會導致div不佔用所需的寬度。 – Eric

+0

是的,但它仍然有效! – Akos

+1

它不起作用:http://jsfiddle.net/7WFxA/1/ – JJJ

0
.content_third { 
float:left; /*remove display:inline-block*/ 
width: 326px; 
padding: 0 0 0 0; 
border: none; 
} 

.content_two { 
float:left; /*remove display:inline-block*/ 
width: 653px; 
vertical-align: top; 
padding: 0 0 0 0; 
border: none; 
} 


<div id="main_container"> 
      <div class="content_third"> 
      hello world! 

      </div> 
      <div class="content_two"> 
      Hello World! 
      </div> 
      <div style="clear:both"></div>  
     </div> 
-1

只需添加float: left;到兩個孩子的DIV元素。