2012-03-20 21 views
1

何が悪いですか?CSS:背景画像が表示されない

CSS:

.submit{ 
padding-left:10px; 
margin:0; 
border:0; 
outline: 0; 
height:32px; 
padding-right:32px; 
} 
.green-btn { 
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#61A801), to(#8CC400)); 
background: -webkit-linear-gradient(top, #8CC400, #61A801); 
background: -moz-linear-gradient(top, #8CC400, #61A801); 
background: -ms-linear-gradient(top, #8CC400, #61A801); 
background: -o-linear-gradient(top, #8CC400, #61A801); 
color: #fff; 
font-family: verdana; 
font-size: 13px; 
font-weight: normal; 
border-radius:5px; 
} 
.clipboard{ 
background-image: url(http://cdn1.iconfinder.com/data/icons/opensourceicons/32/Scissors.png) no-repeat right center; 
} 
​ 

HTML:

<input type="submit" value="Copy" class="submit green-btn clipboard">​ 

JSFiddle:http://jsfiddle.net/77NYA/

答えて

9

あなたはbackground-image財産の内側に位置し、繰り返しの値を指定することはできません。 のみイメージにURLを指定することができます。あなたはこのようにそれらを分離する必要があります:

.clipboard { 
    background-image: url(http://cdn1.iconfinder.com/data/icons/opensourceicons/32/Scissors.png); 
    background-repeat: no-repeat; 
    background-position: right center; 
} 

も注意してください。一部のブラウザでは、グラデーションや背景画像を組み合わせることはできません(私がどれかわかりません)。

<button type="submit" value="Copy" class="submit green-btn"> 
    <img src="http://cdn1.iconfinder.com/data/icons/opensourceicons/32/Scissors.png" alt="[scissors]" /> 
    Copy 
</button>​ 
.submit{ 
padding-left:10px; 
margin:0; 
border:0; 
outline: 0; 
height:32px; 
line-height:32px; 
padding-right:10px; 
} 
.green-btn { 
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#61A801), to(#8CC400)); 
background: -webkit-linear-gradient(top, #8CC400, #61A801); 
background: -moz-linear-gradient(top, #8CC400, #61A801); 
background: -ms-linear-gradient(top, #8CC400, #61A801); 
background: -o-linear-gradient(top, #8CC400, #61A801); 
color: #fff; 
font-family: verdana; 
font-size: 13px; 
font-weight: normal; 
border-radius:5px; 
} 
.green-btn img { 
float: right; 
margin-left: 10px; 
}​ 

そしてjsFiddle preview


はここで内部<img><button>を使用して、代替ソリューションです。余裕を持って試してみて、もっと見た目を変えてください。

+0

画像-SRCリピート値画像位置私はあなたがはさみのような任意の文字を知っていますか、ということを見ましたか?ありがとう! – Luis

+1

「✄」は✄です - その小節がフォント単位でどれだけうまくサポートされているか分かりませんが、かなり高い数字です。それに ''を追加するだけでよいでしょう。 – animuson

1

background-imageプロパティを修正すると、線形グラデーションは背景イメージによってオーバーライドされます。

これを行う最もよい方法は、divを作成して線形グラデーションを使用することです。テキストを含む2つの子要素を作成し、アイコンを背景として含むその他の要素を作成します。 jqueryを使用してdivをsubmitボタンのように動作させます。 -image削除し、それが

.clipboard { background: url(http://cdn1.iconfinder.com/data/icons/opensourceicons/32/Scissors.png) no-repeat right center; 

}

"ので、ご使用の.clipboardクラスの代わりに背景画像

1

あなたは、バックグラウンドを使用する必要がありますno-repeat 'はbackground-repeatの値で、 であり、' right center 'は背景位置の値です。これらの値は背景画像で使用しています。

ので、シンテックスが背景である:

+0

は機能しません。画像はグラデーションをオーバーライドします – AFD