2011-09-02 2 views
7

の背景色がテキストと同じくらい広い(幅はありません)可変幅のヘッダーがあります。私がこれを(余分なマークアップなしで)行うと考えることができる唯一の方法は、ディスプレイをインラインブロックに設定するか、それを左に浮かべることです。しかし、問題は私がヘッダー(別の要件)を中央に置くことができないということです。インラインブロック/浮動ヘッダーの中央に余分なマークアップを配置する方法はありますか?

私が今までに持っている最も近いものは、フローティングヘッダーに設定して、左から50%を押してから、負のマージンで25%引き戻しますが、ヘッダーを常に中央に配置しません。それは文書の流れの中に残らなければならないので、position: absolute;は別のものではありません。

あなただけと、余分なマークアップこの使用してCSS しないための方法を認識している場合、私は(擬似要素は大丈夫です、私はIE7のサポートについて苦しめないよ)に知らせてください!

答えて

9

ディスプレイを使用して解決しました。見出しの上に(マージン:0の自動;)。

7

あなたがグローバルarrtibute &としてbodyからtext-align:center;を与えることができますが、あなたのheaderのdivにdisplay:inline-blockを与えます。だから、それはこのようcenterでごdynamic widthセンターです:

CSS:

body{margin:0; padding:0;text-align:center} 
p{text-align:left;} 
.header{background:red;display:inline-block;} 

チェックこの例http://jsfiddle.net/vpcXS/

+0

最初の回答のコメントで述べたように、このソリューションは唯一の解決策かもしれませんが、理想的ではありません。とにかくありがとう。 – joshnh

+0

私は理想的な解決策ではありませんが、悪い解決策ではありませんでした。これは一種のリセットです。 – sandeep

+0

@joshua私はこの解決策が実際にあなたのものより優れていると思います。 –

0

私のマークアップが

<div id="header"> 
    <center>hello</center> 
</div> 

であるように、中央でのpタグを交換し、 CSSは

です
+0

あなたはヘッダーのように見えるので、あなたのヘッダーの高さに等しい中心の高さを調整することができます。 –

+0

郵便で述べたように、余分なマークアップのないソリューションが必要です。 – joshnh

+0

-1 OPは余分なマークアップを要求していません... –

関連する問題