2011-01-21 13 views
3

Imは完全に失われました。 [OK]をので、私はCSSのコードを見て取り、CSSでボタンを作成します。今ここクリックするとCSSボタンのスタイルが失われるのはなぜですか?

.UploadPhotos a:link{ 
    display:block; 
    width:100px; 
    height:22px; 
    padding-top:2px; 
    margin-left:auto; 
    margin-right:auto; 
    text-align:center; 
    background:url(../images/btn_image.png) 0 0 no-repeat; 
    text-decoration:none; 
    color:#FFF; 
} 
.UploadPhotos a:hover{ 
    background-position: 0 -24px; 
    text-decoration:none; 
    color:#060; 
} 
.UploadPhotos a:active{ 
    background-position: 0 0px; 
    text-decoration:none; 
    color:#FFF; 
} 
.UploadPhotos a:visited{ 
    background-position: 0 0px; 
    text-decoration:none; 
    color:#FFF; 
} 

をHTMLコードは次のとおりです。

<div class="UploadPhotos"> 
    <a id="UpLd" href="uploader/upload.php">Upload Photos</a> 
</div> 

問題は、私はそれをクリックしたときに開始されます。リンクはiframe内の別のページを開き、jsで終了します。このボタンをクリックすると、このボタンのスタイルはすべて消えてしまいます。リンクにhref = "#"を設定しても同じ問題が発生します。だから私はそのjsがページを開くとは思わない。私は一度クリックするとそのスタイルが突然消えてしまう理由を理解できません。

私はあなたのアイデアをみんなを与えるために画像を追加:クリック

正規

alt text

ホバー

alt text

を0

:linkは "未訪問のリンク" ではない "任意のリンク" を意味するのでクリック

alt text

答えて

3

の後にカーソルでテキストを強調。

あなたがリンクにすべての時間を適用したい任意のスタイルは(すなわち、色、背景の位置およびテキストの装飾を除くすべてが)を適用する必要があり、次のいずれか

.UploadPhotos a {} 

または

.UploadPhotos a:link, 
.UploadPhotos a:visited {} 
2

a:訪問し、アクティブ:背景色が必要です。ボタンがクリックされると、そのボタンはアクティブになり、訪問されます。フォーカスを変更すると、それは単に訪問されます。また、コントロールに(タブをクリックする前に)タブすると、状態がアクティブに変わるので同じ動作が表示されます。

.UploadPhotos a { 
display:block; 
width:100px; 
height:22px; 
padding-top:2px; 
margin-left:auto; 
margin-right:auto; 
text-align:center; 
background:url(../images/btn_image.png) 0 0 no-repeat; 
text-decoration:none; 
color:#FFF; 
} 
+1

':

また別のクラスを追加active'「が活性化される」を意味する(例えば、マウスのユーザーの場合には、マウスボタンの間の時間中に押され、それが放出されます) 。 ':focus'は別の状態です。またリンクは同時に ':link'と':focus'と ':active'になることができます。そうしたくない場合は、':focus'や ':active'のための背景色を明示的に設定する必要はありません':link'と':visited'のどちらが当時に適用されているか(またはプレーンa、ブラウザのデフォルトなど)とは異なります。 – Quentin

関連する問題