2011-12-19 26 views
3

這是我的基於CSS div佈局的代碼。我想在#header div內搜索框。但是,當我將margin或padding添加到#header .search類時,它會將此添加到#header div的高度。請幫助我如何正確地得到它。我希望搜索框位於#header div結尾的10px頁邊距底部。header div內搜索div?

#container { 
margin:0px auto; 
width:984px; 
border-left:#FFFFFF solid 1px; 
border-right:#FFFFFF solid 1px; 
} 

#header { 
height:150px; 
background: url(./images/header.png) no-repeat; 
border-bottom:#FFFFFF solid 1px; 
} 

#header .search { 
margin:0px auto; 
text-align:center; 
width:620px; 
} 
+0

這似乎很奇怪,就這個CSS代碼填充或保證金'.search'會影響'#header'。你可以在jsfiddle上發佈一個例子嗎? – ptriek 2011-12-19 16:14:37

+0

什麼是您的HTML?請舉例jsfiddle.net – Richard 2011-12-19 16:15:12

回答

1

你可以絕對定位的#header

#container { 
margin:0px auto; 
width:984px; 
border-left:#FFFFFF solid 1px; 
border-right:#FFFFFF solid 1px; 
} 

#header { 
height:150px; 
background: url(./images/header.png) no-repeat; 
border-bottom:#FFFFFF solid 1px; 
position:relative; // parent container 
} 

#header .search { 
margin:0px auto; 
text-align:center; 
width:620px; 
position:absolute; 
left:0; bottom:10px; 
} 

這樣,你的搜索框永遠不會影響到父容器內的搜索框。

演示:http://jsfiddle.net/fparent/AyyZG/

+1

與絕對位置對齊很難,因爲元素超出了文檔的流向。一個常見的解決方法是將「left」屬性設置爲「50%」,並添加元素寬度一半的* negative *「margin-left」。例如左:50%;保證金左:-100px; – 2011-12-19 16:45:53

1

在兩個標籤上插入一個顯示,並添加一個頁邊距。應該工作