6

CSSを使用してボタンを水平方向に配置しようとしています。これが私のマークアップです:

<button type="button" class="primary-button download-button">Download</button>

そして私の関連するCSS:

.primary-button {
    font-family: Arial, sans-serif;
    font-size: 1.3em;
    color: #fff;
    border: 1px solid #004487;
    background-image: -webkit-gradient(linear, top, bottom, from(#5288bd), to(#2f659a));
    background-image: -webkit-linear-gradient(top, #5288bd, #2f659a);
    box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.4), inset 0px 0px 0px 1px rgba(255, 255, 255, 0.2), 0px 1px 0px rgba(255, 255, 255, .7);
    text-shadow: 0px -1px 0px black;
    cursor: pointer;
}

.download-button {
    padding: 10px 20px;
    border-radius: 5px;
    display: block;
    margin: 10px auto 0px auto;
}

ただし、それでも左揃えになっています。ブロック要素になっているので、設定すると水平方向に整列すると思いmargin: 10px auto 0px auto;ましたが、明らかにそうではありません。

私もそれをdivでラップして使用しようとしましたtext-align: centerが、それも機能しません。

4

2 に答える 2

7

ボタンに幅を与えます。このjsFiddle の例を参照してください。

.download-button {
    padding: 10px 20px;
    border-radius: 5px;
    display: block;
    width: 130px;
    margin: 10px auto 0px auto;
}​

幅がない場合、コンテナの全幅であるブロック レベルの要素を中央に配置しようとしています。幅を明示的に設定すると (たとえば、ボタンに 130 ピクセル)、マージンの中央揃えルールが機能します。

于 2012-06-07T16:28:56.140 に答える