2014-02-19 236 views
0

我目前正在为一个大学任务做一个网站,我真的很困惑为什么我想创建的div没有出现。盒子搞砸了

它似乎不起作用,因为我为三个框添加了代码,它们的宽度与三个框相同。

JsFiddle

<div id="wrapper"> 
    <div id="top"> 
     <div class="logo"> </div> 
    </div> 
    <div id="menu"> 
     <div class="button"> Home </div> 
     <div class="button"> Destinations </div> 
     <div class="button"> Make A Booking </div> 
     <div class="button"> Things To Do </div> 
     <div class="button"> Contact Us </div> 
    </div> 
    <div id="box"> 
    content here 
    </div> 
    <div id="threeBoxContainer"> 
     <div id="deal_one"></div> 
     <div id="deal_two"></div> 
     <div id="deal_three"></div> 
    </div> 
</div> 
+0

您能否澄清一下您究竟想达到什么目的? –

+0

由于其语法结构,很难理解你的问题。但是,如果你想要做的是将三个盒子合并成一行,而不是让第三个盒子下降,那么你的宽度太多了。您可以将33%的箱子降到32%,并看到他们将填补空间。 – JackArbiter

+0

基本上我想让一个div在三个盒子下面,但我也希望盒子的宽度与他们所有的togeather相同。但是我在编码盒子时遇到了麻烦,但是当我这样做的时候,似乎只留下黑线和页面的底部? – IamM4G1C

回答

0

你只需要添加box-sizing财产

#deal_one { 
    /*Other Style */ 
    box-sizing:border-box; 
} 

#deal_one { 
    /*Other Style */ 
    box-sizing:border-box; 
} 
#deal_three { 
    /*Other Style */ 
    box-sizing:border-box; 
} 

Reference

Fiddle Demo

+0

@downvoter我错过了什么吗? –

0

它的因为css宽度只代表内容宽度。总宽度是填充,边距和边框的组合。

Total Width=ContentWidth+Padding+Border+Margin 

因此,给33%的宽度和一些边距,填充和边框使它实际上大于33%。减小宽度尺寸以实现期望的结果。大约30或31%将会很好。

0

鉴于你在评论中说,一个可能的答案:

HTML底部:

<div id="threeBoxContainer"> 
    <div id="deal_one"></div> 
    <div id="deal_two"></div> 
    <div id="deal_three"></div> 
</div> 
<div id="bigbox"></div> 

CSS:

#bigbox { 
width: 98%; 
height: 300px; 
background-color:rgba(0, 95, 160, 1); 
border: solid 2px black; 
margin-top: 5%; 
} 

这似乎为我工作。如果我离开高度,我只能像你提到的那样得到一条坚实的线。

+0

是的,它似乎工作谢谢,所以我能做些什么,以这三个盒子,使他们填补了微小的空间。 – IamM4G1C

+0

如果有效,请接受答案。至于这三个盒子,它们受边框宽度的影响,如果使用百分比,则会根据可用空间给出像素宽度。如果你需要保持百分比,你可以使用32.5%或者按照这些线来玩 - 看看有什么作用。如果你确实需要它并且不关心保持它的百分比,给每一个像素宽度与它应该填充的宽度相对应。在chrome中使用f12来使用dev控制台查看您给出的百分比的像素宽度。 – JackArbiter