2012-12-07 43 views
1

我想做一個佈局,其中容器div有4個子容器div從容器div的角落擴展。每個div從一個角落擴展。我想要實現這一點,而不是將位置設置爲絕對位置,因爲這與我的其他CSS混亂。這是它停止: 的jsfiddle:http://jsfiddle.net/XcKYF/2/容器與角div

<div class=container> 
<div class=div1>11</div> 
<div class=div2>22</div> 
<div class=div3>33</div> 
<div class=div4>44</div> 
</div> 

.container 
{ 
width:100%; 
height:100%; 
background-color:red; 
} 
.div1 
{ 
position:absolute; 
bottom:0; 
left:0; 
width:20px; 
height:20px; 
background-color:green; 
} 
.div2 
{ 
position:absolute; 
bottom:0; 
right:0; 
width:20px; 
height:20px; 
background-color:yellow; 
} 
.div3 
{ 
position:absolute; 
top:0; 
left:0; 
width:20px; 
height:20px; 
background-color:blue; 
} 
.div4{ 
position:absolute; 
top:0; 
right:0; 
width:20px; 
height:20px; 
background-color:violet;} 
+2

你是什麼意思擴大? –

+0

取決於內容。從角落開始並擴展到中心。 – fox

+1

如果沒有插圖/例子,你有點難以理解你的意思,但是我認爲你所要求的是非常困難的,如果你沒有'position:絕對' – Sean

回答

2

示範:http://jsfiddle.net/94U4U/1/

我想你正在尋找的是一個相對定位容器佔據了頁面,該頁面被分割分成4個角落加上一個中央內容持有者:

html, body{ 
    height:100%; 
} 
.container 
{ 
    position:relative; 
    width:100%; 
    height:100%; 
    background-color:red; 
} 

.container div.corner{ 
    height:20%; 
    width:20%; 
    position:absolute; 
} 

.container div.content{ 
    background-color:white; 
    height:60%; 
    width:60%; 
    position:absolute; 
    left:20%; 
    top: 20%; 
} 

.div1 
{ 
    bottom:0; 
    left:0; 
    background-color:green; 
} 

.div2 
{ 
    bottom:0; 
    right:0; 
    background-color:#FF0; 
} 

.div3 
{ 
    top:0; 
    left:0; 
    background-color:blue; 
} 

.div4 
{ 
    top:0; 
    right:0; 
    background-color:#EE82EE; 
} 
+0

我懂了。我剛剛把我的容器放到相對位置,讓孩子們定位到絕對位置。 – fox

+0

@fox我也重構了你的代碼,有一些CSS中的重複。看一看。 –

1

演示:如果http://jsfiddle.net/XcKYF/6/

不知道,完全solwes你的問題,但類似於你希望能做些什麼事如何。

HTML:

<div class=container> 
    <div class=div1>11</div> 
    <div class=div2>22</div> 
    <div class=div3>33</div> 
    <div class=div4>44</div> 
    some other content<br/> 
     some other content<br/> 
     some other content<br/> 
     some other content<br/> 
     some other content<br/> 
</div> 
​ 

CSS:

.container 
{ 
    background-color:red; 
    position:relative; 
    padding:20px; 
} 
.div1 
{ 
    position:absolute; 
    bottom:0; 
    left:0; 
    width:20px; 
    height:20px; 
    background-color:green; 
} 

.div2 
{ 
    position:absolute; 
    bottom:0; 
    right:0; 
    width:20px; 
    height:20px; 
    background-color:yellow; 
} 
.div3 
{ 
    position:absolute; 
    top:0; 
    left:0; 
    width:20px; 
    height:20px; 
    background-color:blue; 
} 
.div4 
{ 
    position:absolute; 
    top:0; 
    right:0; 
    width:20px; 
    height:20px; 
    background-color:violet; 
}​ 
+0

就是這樣!!!!!! – fox