2013-03-18 20 views
0

如何完成以下結構?帶3個DIV的結構

structure example

這是我走到這一步:

<style> 
div{ 
    border: 1px solid; 
} 
#d1{ 
    width: 200px; 
    height: 150px; 
} 
#d2{ 
    width: 200px; 
    height: 100%; 
} 
#d3{ 
    width: 100%; 
    height: 100%; 
} 
</style> 

<div id="d1"> 
1 
</div> 
<div id="d2"> 
2 
</div> 
<div id="d3"> 
3 
</div> 

謝謝!

+0

我沒有經驗與CSS。你能舉個例子嗎? – user1170330 2013-03-19 00:01:21

回答

1

您可以根據需要像這樣設置topbottomleftright沿做到這一點使用absolute定位:

CSS

#d1, #d2, #d3 { 
    border: 1px solid #000000; 
    position: absolute; 
} 
#d1 { 
    top: 0; 
    height: 150px; 
    left: 0; 
    width: 200px; 
} 
#d2 { 
    top: 150px; 
    bottom: 0; 
    left: 0; 
    width: 200px; 
} 
#d3 { 
    top: 0; 
    bottom: 0; 
    left: 200px; 
    right: 0; 
} 

Demo

+0

是否有可能將所有div都放入一個大格子中?這樣我就可以把整個事情都搬走了。 – user1170330 2013-03-19 18:35:57

+0

是的,只要確保在父div中聲明它是'position',否則子div不會相對於父級定位。這裏是一個例子:http://jsfiddle.net/g7Dtz/2/ – 3dgoo 2013-03-20 02:05:52

1

如果你可以改變元素的順序,你可以這樣做:

* { line-height:16px; } 
    #i1 { margin:0 0 0 200px; background-color:#eef; } 
    #i2 { margin-top:-16px; width:200px; height:150px; background-color:#efe; } 
    #i3 { width:200px; background-color:#fee;} 

    <div id="i1">main right</div> 
    <div id="i2">left top</div> 
    <div id="i3">left bottom</div> 

但很明顯,它會更容易,如果你只是換了你左邊的列到一個更DIV

<div id="left"> 
    <div id="i2">left top</div> 
    <div id="i3">left bottom</div> 
</div> 
<div id="main">main</div> 


#left {float:left; width:200px; margin:0;padding:0;} 
#main {margin-left:200px; } 
#i2 { width:200px; height:150px; } 
#i3 { width:200px; } 

更新:談論100%的高度和寬度;你也可以使用絕對定位。 Here is example

+0

謝謝。但是,100%的高度和? – user1170330 2013-03-19 00:10:53

+0

看看更新。還有一個問題,如果底部左側有更多的內容然後屏幕的大小呢?應該發生什麼? – vittore 2013-03-19 00:35:02