2012-04-04 23 views
2

の別の特定のタイプが含まれていない場合、私のCSSには以下が含まれます。CSSスタイル要素が要素

#mainbody a[href ^='http']  { 
     background:transparent url('/images/icons/external.svg') no-repeat top right; 
     padding-right: 12px; 
} 

これは、次の「HTTP」(すべての内部サイトリンクで始まるリンクを「外部」のアイコンを配置します相対的です)。イメージをリンクする場合を除いて、完全に動作します。このアイコンも表示されます。

たとえば、<a href='http://example.com'><img src='whatever.jpg'/></a>の場合は、画像の横に「外部」アイコンが表示されます。私は必要ならこれで生きることができますが、それを排除したいと思います。

これはCSS(no JS)で実装する必要があります。特別なID、クラス、イメージのHTMLまたは画像のアンカーのスタイリングを必要としてはいけません。これは可能ですか?

あなたがいずれかの可能

答えて

2

大文字と小文字が区別されます。画像リンク用にすべてのHTTPを使用してください。

+0

これは確かに単純です。 HTMLを変更しなければならないため、要件を満たしていませんが、意図した結果を達成する最も簡単な方法になる可能性があります。名声。 –

2

: -

  • イメージのみ
  • 画像用の裸のドメインへのリンク(例えばhttp://domain.com)の相対リンクを使用してWWWに 外部リンクフィルタを修正。 httpではなくむしろ。

CSSは必須ではありません。基本的にあまり一般的でないフィルタを使用する必要があります。

+0

私が遭遇している問題は、ソフトウェア/会社のボタンですが、それらは常に外部サイトにリンクしています...しかし、私はリダイレクタをセットアップすることができます。私はまた、[Wall of Fail](http://no-www.org/roster.php)ドメイン以外のすべてのための "www"を避けようとしています。このフィルタは、httpsリンクも捕捉するために意図的に短く設定されていますが、別のリンクを設定することもできます。しかし、食べ物。ありがとう! –

+0

それは非常にトリッキーなものです。サブドメインの画像にリンクし、それに基づいて画像を削除する反対のフィルタを設定することもできます。 – toomanyairmiles

+0

アイコンはイメージ上にありますが、アンカー上にあります(イメージのみを含む)。したがって、イメージリンクを変更しても効果はありません。 –