• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Icons hinter externe Links mit CSS

Herr Sin

Sternapfel
Registriert
05.01.04
Beiträge
4.997
Hallo zusammen.

Ich möchte gerne auf meiner Webseite allen externen Links via CSS ein kleines Icon dahinter hängen. Sieht man ja öfters, zB. bei Wikipedia. Das ganze mach ich bisher so:

Code:
a[href^="http://"]:not([href*="meineurl.com"]):after,
a[href^="https://"]:not([href*="meineurl.com"]):after{
    content: " " url("http://meineurl.com/external-icon-16px.png");  
}


Nun habe ich an ein paar Stellen Links zu Wikipedia. Diese sollen ein eigenes Logo bekommen. Soll ungefähr so aussehen:
Wobei [-] und [W] jeweils die Icons darstellen.

Achso: Nur CSS, kein JavaScript. Und die Links will ich nicht mit einem "rel=" Tag austatten. Geht das überhaupt?
 

Soso

Jamba
Registriert
29.08.09
Beiträge
58
gib den a-tags doch verschiedene Klassen, dann kannst du sie mit der :after-Pseudoklasse selektiv ansprechen:

a --> prinzipiell kein Logo
a.normal :after --> Logo wie immer
a.besonderesIcon :after --> Logo A
a.nocheinbesonderesIcon :after --> Logo B

Wenn du die Klassen konsequent einsetzt, kannst du deinen wie beschrieben Code kürzen
 

Herr Sin

Sternapfel
Registriert
05.01.04
Beiträge
4.997
Ich mag das mit den Klassen aber vermeiden. Hintergund:

Ich habe für einen Kunden eine Umfangreiche Webseite in Wordpress erstellt (ca. 70 Seiten in je drei Sprachen). Darin sind viele interne Links. Ein paar zeigen nach draußen. Und ein paar zu Wikipedia.

Nun möchte ich eben diese drei Links unterscheiden. Interne Links sollen bleiben wie sie sind. Externe Links bekommen einen kleinen Pfeil. Und als Ausnahme bekommen die Links zu Wikipedia ein kleines "w".

Und der Kunde soll es so einfach wie möglich habe. Er soll sich nicht um Klassen kümmern. Bin froh, dass er das mit der Überstzung sauber hin bekommt.
 

frostdiver

Zwiebelapfel
Registriert
19.06.12
Beiträge
1.285
So vielleicht?
HTML:
a[href^="http"]:not([href*="meine.url"]):not([href*="wikipedia"]):after {
        content: " " url("external.png")
}
a[href^="http"][href*="wikipedia"]:after {
        content: " " url("wiki.png")
}

EDIT: Oder vielleicht besser für die Wikipediaseiten direkt [href^="https://de.wikipedia.org"] oder so.
 
Zuletzt bearbeitet: