2012-09-24 6 views
5

私は可変幅のボタンをいくつか持っていて、それらをすべて一定の幅にしたいと思います。 width: 150px;を追加しようとしたときに機能しません。どのようにしてこれらのボタンを作成すれば、すべての幅が設定されますか?固定幅のボタンをCSSで作成

Here is a Fiddle、ここのコードです:

HTML

<p><a class="dark_button 150px-width" href="#">Lorem</a></p> 
<p><a class="dark_button 150px-width" href="#">Lorum Ipsum</a></p> 
<p><a class="dark_button 150px-width" href="#">Lorum Ipsum dolor</a></p> 
<p><a class="dark_button 150px-width" href="#">Lorum Ipsum dolor sit amet</a></p> 

CSS

.dark_button{ 
    border-top: 1px solid #969696; 
    background: #000000; 
    background: -webkit-gradient(linear, left top, left bottom, from(#545454), to(#000000)); 
    background: -webkit-linear-gradient(top, #545454, #000000); 
    background: -moz-linear-gradient(top, #545454, #000000); 
    background: -ms-linear-gradient(top, #545454, #000000); 
    background: -o-linear-gradient(top, #545454, #000000); 
    padding: 5px 10px; 
    -webkit-border-radius: 8px; 
    -moz-border-radius: 8px; 
    border-radius: 8px; 
    -webkit-box-shadow: rgba(0,0,0,1) 0 1px 0; 
    -moz-box-shadow: rgba(0,0,0,1) 0 1px 0; 
    box-shadow: rgba(0,0,0,1) 0 1px 0; 
    text-shadow: rgba(0,0,0,.4) 0 1px 0; 
    color: #e3e3e3 !important; 
    font-size: 14px; 
    text-decoration: none; 
    vertical-align: middle; 
} 
.dark_button:hover { 
    border-top-color: #4f4f4f; 
    background: #4f4f4f; 
    color: #ccc; 
    text-decoration:none; 
} 
.dark_button:active { 
    border-top-color: #4a4a4a; 
    background: #4a4a4a; 
} 

.150px-width{ 
width: 150px; 
} 

答えて

11

カップルの問題:

  1. a要素は、あなたがそれを明示的な幅を与えないことができることを意味し、インライン要素です。
  2. クラスは数字で始めることはできません。

あなたはそれがwidthに関してあなたの希望を尊重していblockまたはinline-blockような何かにあなたのdisplayプロパティを設定するためにneeedます。さらに、上記の問題2を解決する代わりにwidth-150pxのようなクラス名を使用してください。

フィドル:http://jsfiddle.net/yQu8H/5/

3

CSSクラス名は数字で始めることはできません。手紙を使用する必要があります。名前は大文字と小文字が区別されます。

参照:Which characters are valid in CSS class names/selectors?

+1

、彼らはこれが全体の答えではありません – Oriol

+1

することができます。 – Eric

1

あなたは数字でクラス名を開始することはできません。多分それが問題です。 ご確認くださいGrammar

2

解決方法のクラス名についての解答は正しいですが、解決策の一部のみです。

アンカー要素(インライン要素)をブロック要素(divなど)に囲み、ブロック要素に幅を割り当てる必要もあります。したがって、 "構造体"のスタイリングをdivとテキストスタイリングに適用してアンカーに適用する必要があります。

これは少しリファクタリングが適用されたあなたのフィドルです。 HTML5では

http://jsfiddle.net/gZtdZ/

関連する問題