2012-06-16 128 views
0

我很難使divs頂部的位置相對於其前面的subling。CSS位置相對作爲絕對

我:

<style> 
#container {position:absolute; top:0px; height:100%} 
.question {position:relative;border: 1px double black;} 
.question [scope=title] {position:relative; top:0px; color:black;font-size:28px; border-bottom: 1px double black;} 
.question [scope=body] {position:relative; top:0px; color:black;font-size:18px; } 
.question [scope=author] {position:relative;top:10px} 
.question [scope=tags] {position:relative;top:0px} 
</style> 

然後

<div ID="container"> 
     <div class="question"> 
      <div scope="title">A</div> 
      <div scope="body">B</div> 
      <div scope="author">C</b></div> 
      <div scope="tags">D</div> 
     </div> 
</div> 

我希望筆者的div是10px的低於通常會和以下的div相對於這一點。但是,「標籤」和「作者」重疊。

太刺激了,但我打賭有一個簡單的答案。任何幫助?

+0

在作者div中有一個大膽的結束標記...(?) – Connor

+0

不影響CSS,瀏覽器編譯器將忽略鬆散的結束標記。 – Terry

+0

這是我在刪除代碼時所犯的一個錯誤,以增加對您的好人的理解。傻我 – rikAtee

回答

3

嘗試設置上撰文代替邊距:

.question [scope=author] {position:relative;margin-top:10px} 
1

因爲您的question元素正在計算子元素的高度。 因此,它的高度與孩子的確切高度相匹配,但是其中一個孩子(C)會向下推動10px,因此它與下方的孩子重疊。

只需更改author,它將起作用。

.question [scope=author] {position:relative;top:0px} 
+0

但我希望作者比「香草」低10px。問題是我如何讓兄弟姐妹div與前面的兄弟姐妹div相關? – rikAtee

+2

然後使用'padding'或'margin'。 – Terry

1

當一個元件具有一個位置:相對偏移,所述元件在偏移呈現,但是其他元件被放置在佈局流程中,就好像元素沒有偏移一樣。換句話說,偏移發生在佈局流程之外。它就像一個絕對定位的元素,它在佈局中佔據了一個不可見的佔位符。

由於您希望元素響應彼此的偏移量,因此建議使用不同的偏移機制,即在佈局流程中發生的一種:填充或邊距。