2013-04-29 12 views
6

spanを中心にクラスを使用しているとき、私は問題を抱えている:ブートストラップ:中央任意のスパン

.center { 
    float:none; 
    margin-left: auto; 
    margin-right: auto; 
} 

<div class="row-fluid"> 
    <div class="center span5"> 
    <button></button> 
    </div> 
</div> 

これは明らかにそれがブートストラップ行優先の*のCSSで上書きされ、動作しません。しかし、divに直接同じスタイルを含めると(style="...")動作します。

幅がわからないので、オフセットを使用しようとしましたが、ボタンが.CSSの中央に配置されていない場合は、機能しません。 buttonの幅は外部JavaScriptによって設定されているので、幅を指定することはできません。

どのようにして.centerクラスを動作させることができますか?

答えて

15

ブートストラップ2.3.0では、組み込みクラス.text-centerを使用できます。

<div class="row-fluid"> 

    <div class="span12 text-center"> 

    My content to be centered here 

    </div> 

</div> 

それは私のために完全に働いた... :)

+1

ありがとう!これは間違いなく最もクリーンなアプローチです。 – Nebri

2

自動余白法を使用する場合は、要素の幅を定義する必要があります。これは、任意のユニットとすることができるが、定義する必要があります。

.center { 
    width: 50%; 
    margin-left: auto; 
    margin-right: auto; 
} 

:)

+0

私は幅を追加しましたが、何とかspan5はまだ中央に配置されていません。そのサイズは正しいですし、要素を調べると、実際には中心になっていません。 – Aki

6

あなたがして、それを中央にすることができます

.center { 
    margin: 0 auto !important; 
    float: none !important; 
} 

JSFiddle

それとも、使用することができます。

.row-fluid [class*="span"].center, .center { 
    margin: 0 auto; 
    float: none; 
} 

私は!importantを避ける傾向があります。これは、他のCSSと異なる場合があるためです。興味深いことに、上記の影響は、腹水および腹水の両方で異なる。私はdivの中に同じスタイルが含まれている場合

:私はそれは幅

を知っていないので、これはので、本当のことはできません、それは動作しませんと思います

+4

'!important'は使わないでください。それは大惨事です。あなたがそれを使用してそれを上書きしたいのであれば、何かを二重にすることはできません!重要なので、あなたは再び同じ問題を持ちます。 – Quentin

+0

合意。私はそれが最初に '' row-fluid'だったことに気付かず、私の最初の微調整で '行'を試しました([unnumbered JSFiddle](http://jsfiddle.net/WesWz/)参照)。それが機能するように私の最初の微調整だった、私はそれなしで働いた。 – pickypg

+0

2番目の解決策、うまく機能します! – Aki

1

直接(スタイル= "...")それは動作します

... 1つのケースでは幅が分からない場合は、もう一方ではありません。

style属性を使用している場合、それは問題が特異性の1つであるという兆候です。 specificityがそれらのプロパティをオーバーライドしている(またはその特異性は同じですが、ルールセットは後にスタイルシートに表示されます)どんなルールのセレクタよりも大きくなるように、ルールセットのセレクタを記述します。

ブラウザの開発者ツールを使用して要素に適用されているルールを確認することができます。セレクタが表示されるので、より具体的にする必要があります。

+0

本当に、説明に感謝!彼は修正のためのコードサンプルを提供して以来、私はpickypgの答えを受け入れました。 – Aki

2
.class { 
    margin:auto; 
    display:table; 
} 

はなぜIDKが、それは常に魔法のように動作します。