CSS Spielereien II

Thema:

Immer noch führt die Zweisprachigkeit meines Weblog zu Verwirrungen, mit meinem Projekt die Sprache (nur deutsche oder nur englische Artikel oder beides) auswählbar zu machen komme ich zur Zeit auch nicht wirklich weiter. Aber: basierend auf dem CSS Trick mit den Outsidelinks kann man jetzt hier schon an einem Link erkennen, ob sich dahinter ein deutschsprachige oder englischsprachige Quelle verbirgt. Viel war dazu nicht nötig, ausser vielleicht, daß ich meine eigenen Vorschläge zum semantischen auszeichnen von Links ein wenig besser beherzigen muss, als mir das in letzter Zeit gelungen ist.

Wie es funktioniert: Jeder externe Link bekommt das semantische Attribut hreflang zugeordnet. Ein Link auf eine englischsprachige Seite sieht also beispielsweise so aus: <a href="http://www.superlink.com" title="some phat pictures" hreflang="en">an outside link<a>. Über die Funktionen in CSS 3 kann nun auf dieses Attribut zugriffen werden. In meinem Stylesheet findet sich also folgende Einträge:

div.blog a[href^="http:"] {
  background: transparent url('pfad/zum/Externlinkicon.gif') 100% 50% no-repeat;
  padding-right: 10px;
}
div.blog a[hreflang^="en"] {
  background: transparent url('pfad/zum/enoutside.gif') 100% 50% no-repeat;
  padding-right: 10px;
}
div.blog a[hreflang^="de"] {
  background: transparent url('pfad/zum/deoutside.gif') 100% 50% no-repeat;
  padding-right: 10px;
}
div.blog a[href^="http://www.couchblog.de"],
div.blog a[href^="https://couchblog.de"] {
  background: inherit;
  padding-right: 0px;
}

Die erste Zeile zeigt generell bei externen Links ein kleines Icon an. Die beiden folgenden Zeilen überschreiben dieses Verhalten, wenn ein hreflang angegeben wurde, je nach Sprache. Ganz am Schluss werden widerum die Links herausgepickt, die auf dieses Blog zeigen, also intern sind und dort das Icon wieder gelöscht. Fertig. Ach ja: das ganze funktioniert nur in Browsern, die bereits CSS3 unterstützen… ratet welche das sein könnten.

Weiterführende Links: External link icons the CSS way W3C Recommendations (Phrase elements)

Noch keine Kommentare.

Datenschutzhinweis

Daten die in dieses Formular eingegeben werden, werden mit Hilfe des Dienstes welcomments.io verarbeitet. Dabei fallen die in der Datenschutzerklärung dieses Dienstes aufgeführten Daten (IP-Adresse, Browserversion) an, die dort auch gespeichert werden. Gebe keine persönlichen Daten in dieses Formular ein, im Zweifelsfall nutze einen Spitznamen, alles eingegebene wird hier öffentlich angezeigt. Es werden keine Cookies gespeichert, lediglich der Kommentartext wird im Localstorage des Browsers zwischengespeichert.

GitHub-flavored Markdown und einfache HTML-Tags werden unterstützt.

Hinweis…

Diese Seite enthält Videos von Youtube. Diese sind standardmäßig deaktiviert. Falls Du unten auf „Ja“ klickst, werden Daten von Youtube auf Deinen Rechner geladen und so mindestens Deine IP-Adresse an Youtube weiter gegeben. Cookies werden nicht verwendet. Mehr Infos.

Möchtest du Youtube auf dieser Seite aktivieren?