2011-12-19 19 views
3

ここにCSSベースのレイアウトのための私のコードです。 #header div内に検索ボックスが必要です。しかし、#header .searchクラスにマージンやパディングを追加すると、#header divの高さにこれが追加されます。どうすればそれを正しく得ることができますか教えてください。 #header divが終わるところから10px margin-bottomのところに検索ボックスを置いて欲しい。ヘッダ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

'.search'に、このCSSコードのパディングやマージンで'#のheader'に影響を与えることは非常に奇妙なよう。 jsfiddleに例を投稿できますか? – ptriek

+0

あなたのHTMLは何ですか? jsfiddle.netの例を挙げてください。 – Richard

答えて

1

を動作するはずですあなたはこの方法では、検索ボックスが今まで親コンテナには影響しません絶対に#ヘッダー

#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%; margin-left:-100px; –

1

両方のタグにディスプレイを挿入し、margin-bottomを追加します。

関連する問題