2012-02-09 8 views
5

を訪れたことが正常に動作します訪問したが、opactityは設定しません。不透明度:私はの背景色を設定した場合、FirefoxやIE</p> <p>にハイパーリンクを訪問した:私は上で動作するように不透明度を得ることができない

アイデア?ここで

は私のCSSです:

a.photo 
{ 
    display: inline-block; 
} 
a.photo img 
{ 
    border: 1px solid #C8C8C8; 
    background-color: #ffffff; 
} 
a:hover.photo img, 
a:active.photo img { 
    background-color: #FF2D59; 
    border: 1px solid #FF2D59; 
} 
a:visited.photo img 
{ 
    opacity: 0.4; 
    filter: alpha(opacity=40); /* For IE8 and earlier */ 
} 
a.small img 
{ 
    width: 80px; 
    height: 80px; 
    padding: 6px; 
} 


<a href="#" class="photo small"> 
    <img src="http://www.w3schools.com/css/klematis.jpg" alt="small photo hyperlink" /> 
</a> 

私はCSSのために何か問題があると思ういけない、becuase私は背景色を追加した場合、それだけで正常に動作します:

a:visited.photo img 
{ 
    opacity: 0.4; 
    filter: alpha(opacity=40); /* For IE8 and earlier */ 
    background-color: Gray; 
} 
+3

は、それはすべきではない 'a.photo:visited'? –

+2

@Joeel Etherton:クラスと擬似クラスは任意の順序で並べ替えることができるので、 'a:visited.photo'は問題ありません。 – BoltClock

答えて

9

SEC7115::visited::リンクスタイルは色によってのみ異なる場合があります。いくつかのスタイルはvisitedに適用されませんでした。

これはIEの開発ツールコンソールからのものです。 Firefoxの場合も同様のエラーが表示されます。

申し訳ありません。それほど多くはできません。 2010年以来

+0

あなたは知っている、私はこれを本当に理解したことはありません。確かにcomputedStyle.colorを読んで、訪問したリンクを見つけることができますか?私は知らない... –

+0

別の解決策がある場合に備えて、私はこの質問を未回答のままにしておきます。 –

+0

そうは思われません。 'document.querySelectorAll(":visited ")'は訪問したリンクの有無にかかわらず空のリストを返すので、それらを見つける方法はありません。私は色のスタイルを検索しようとします。 –

3

、Mozillaブラウザの制限にスタイル訪れたリンクに使用することができますCSSのプロパティ: - 色、 - 背景色、 - ボーダー - * - 色 - 輪郭線色 - と色塗りつぶしとストロークのプロパティの一部。

訪問したリンクのスタイルの他の部分については、未訪問のリンクのスタイルが代わりに使用されます。さらに、上で変更できるプロパティのリストについては、rgba()またはhsla()の色を設定することも透明にすることもできません。

出典: http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/

関連する問題