2016-06-13 111 views
-3

我一直试图让我的页面在下面有以下布局,但没有运气。我想在第二栏中叠加这些框。任何人都可以指向正确的方向吗?谢谢。CSS,HTML布局

Layout

+2

你的代码在哪里?你试过什么了? –

+2

欢迎来到Stack Overflow!寻求代码帮助的问题必须包含在问题本身中重现**所需的最短代码**最好在[** Stack Snippet **]中(https://blog.stackoverflow.com/2014/09/introducing-runnable) -javascript-CSS-和HTML的代码段/)。请参阅[**如何创建最小,完整和可验证的示例**](http://stackoverflow.com/help/mcve) –

+0

http://jsfiddle.net/danield770/3rUG7/3/ – matmik

回答

0

创建2个的div,一个用于左,一个在右,然后右手DIV中(它的尺寸与左侧的div相同)具有3周的div作为单独的div。像这样的事情在你的HTML:

<div id="left> 
....some stuff.... 
</div> 
<div id="rightContainer"> 
    <div id="top"> 
    ....some stuff.... 
    </div> 
    <div id="middle"> 
    ....some stuff.... 
    </div> 
    <div id="bottom"> 
    ....some stuff.... 
    </div> 
</div> 

你的CSS将是:

#left { 
width: 200px; 
float:left; 
height:600px; 
} 
#rightContainer { 
width: 200px; 
float:left; 
height:600px; 
} 
#top, #middle, #bottom { 
height:200px; 
width:100%; 
float:left; 
} 

应该是你需要什么(或有abouts!)。

发布您的代码,到目前为止,我相信我们可以做得更多:)

+0

谢谢答案!我是这个论坛的新手,所以没有意识到我必须发布我的代码。下次我肯定会这样做。两个答案都有效。我错过的是包含3个div的整个容器。 – brokenpopsicle

+0

如果它有效,给一些代表。乐于帮助! :) – Rmj86

0

我已经创建了两个JS小提琴给你看。两者都使用%而不是固定数字,第一个在右侧的水平容器之间有间距(尽管它们不与左侧共享同一个底部),而第二个底部容器在底部右手侧有一个绝对位置,从而在水平方向的容器之间的不均匀的空间: HTML:

<div id="left"> 

</div> 
<div id="right"> 
    <div id="row1"></div> 
    <div id="row2"></div> 
    <div id="row3"></div> 
</div> 

CSS:

#left { 
    display: inline-block; 
    border: 2px solid black; 
    height: 596px; 
    width: 30%; 
} 

#right { 
    position: relative; 
    display: inline-block; 
    height: 600px; 
    width: 60%; 
    margin-left: 8%; 
    vertical-align: top; 
} 

#row1, 
#row2, 
#row3 { 
    border: 2px solid black; 
} 

#row1, 
#row2 { 
    height: 30%; 
    margin-bottom: 5%; 
} 

#row3 { 
    height: 20%; 
} 

same spacing but different bottoms jsfiddle

HTML:

<div id="left"> 

</div> 
<div id="right"> 
    <div id="row1"></div> 
    <div id="row2"></div> 
    <div id="row3"></div> 
</div> 

CSS:

#left { 
    display: inline-block; 
    border: 2px solid black; 
    height: 596px; 
    width: 30%; 
} 

#right { 
    position: relative; 
    display: inline-block; 
    height: 600px; 
    width: 60%; 
    margin-left: 8%; 
    vertical-align: top; 
} 

#row1, 
#row2, 
#row3 { 
    border: 2px solid black; 
} 

#row1, 
#row2 { 
    height: 35%; 
    margin-bottom: 5%; 
} 

#row3 { 
    height: 20%; 
    position: absolute; 
    bottom: 0; 
    width: 100%; 
} 

same bottom but different spacing jsfiddle

那是接近你在找什么?

+0

谢谢你的答案!我是这个论坛的新手,所以没有意识到我必须发布我的代码。下次我肯定会这样做。两个答案都有效。我错过的是包含3个div的整个容器。 使用位置的优点是:绝对;位置:相对于使用float左边? – brokenpopsicle

+0

'float:left;'影响元素在一个容器内与其他元素相关的显示方式。 “位置:绝对的;”真正让这个元素的位置不受其他元素的影响。通常两者都可以用来实现一个目的。看看你的情况,并决定使用哪个。例如。如果你想要一些东西左对齐,并有其他元素环绕它(例如。一个文字环绕的图片),“float:left;'是有道理的。但是,如果您希望某些内容显示为位于其他内容之上(例如,图片顶部的文本),则“position:absolute;”更合适。 – blubberbo

+0

感谢您的解释! – brokenpopsicle