2011-10-22 167 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元素。