Met css kan achter bv. een externe link een icoontje geplaatst worden, dat de
lezer erop attent maakt dat je met klikken de huidige site verlaat.
Zie hieronder het
achter de
linkjes.
In de css:
.extern {
background: url(images/icoontje.gif) no-repeat 0 50%;
padding: 0 0 0 13px;
}
In de html:
<a href="http://www.dewereldin.nl/" class="">kom mee naar buiten</a>
Resultaat:
Lorem ipsum dolor sit amet, consectetur adipisicing dit is een gewone interne link elit, sed do eiusmod tempor incididunt ut labore et dit is een externe link dolore magna aliqua. Ut enim ad minim dit is een lekkere lange externe link veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla dit is weer een externe link pariatur. Excepteur sint occaecat cupidatat non dit is wel een hele lange externe link maar dat komt soms wel eens voor proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Wanneer een link aan het einde van de zin afgebroken wordt, gaat deze op de volgende regel verder. Maar browsers gaan heel verschillend om met afbrekingen in een regel...
Om IE te dwingen de link als een geheel te zien, kan van de link een inline-block gemaakt worden.
In de css:
.extern {
background: url(images/icoontje.gif) no-repeat 0 50%;
padding: 0 0 0 13px;
display: inline-block;
}
Resultaat:
Lorem ipsum dolor sit amet, consectetur adipisicing dit is een gewone interne link elit, sed do eiusmod tempor incididunt ut labore et dit is een externe link dolore magna aliqua. Ut enim ad minim dit is een lekkere lange externe link veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore dit is weer een externe link eu fugiat nulla pariatur. Excepteur sint dit is wel een hele lange externe link maar dat komt soms wel eens voor occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing dit is een gewone interne link elit, sed do eiusmod tempor incididunt dit is een externe link ut labore et dolore magna aliqua. Ut enim ad minim dit is een lekkere lange externe link veniam, quis nostrud exercitation ullamco laboris reprehenderit in voluptate velit dit is weer een externe link eu esse cillum dolore fugiat nulla pariatur. Excepteur sint dit is wel een hele lange externe link maar dat komt soms wel eens voor occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Het icoontje staat nu overal keurig achter de link, maar er zijn ook maren.
NB: Het probleem dat de css niet valideert ... is er niet.
Kijk maar: valideer deze
pagina.
Een bijkomend probleem voor IE en Opera is, dat het bij smallere containers (bv. een sidebar met wat links erin) alsnog mis gaat.
Proefondervindelijk blijkt dat het in het begin van de link plaatsen
van het icoontje vergelijkbare problemen geeft, en dus géén alternatief is.
Wat dan wel?
Redenerend dat het bij IE wel goed gaat in korte links, moeten we zien er korte
links van te maken, zodat de {display: inline-block; } voor de hele link
achterwege kan
blijven.
Dat kan door de link op te splitsen in een "gewoon deel" en een
"aanhangsel achteraan", dat het icoontje krijgt. Hoe? Een spannetje,
dat als background-img het icoontje meekrijgt: om alléén het laatste woord van de link.
Met als html:
<a href="http://www.dewereldin.nl/" class="extern">kom mee naar <span>buiten</span></a>
Volgende stap is, dat hetzelfde ook bereikt kan worden met een andere tag, als
die hetzelfde gestyled word als de span (want <span></span>
is "zoveel tikwerk"). Minder werk geeft bv. de <u></u>:
de "u" van "uitgaand", - en het gaat ook om een bijzondere
vorm van onderstreping.
Laatste stap is, dat nu ook de class="extern" gemist kan
worden! Want in een gewone interne link wordt de <u></u> niet
geplaatst.
Daarmee kan de html lekker kort worden:
<a href="http://www.dewereldin.nl/">kom mee naar <u>buiten</u></a>
En de css wordt dan:
a u {
background: url(images/icoontje.gif) no-repeat 100% 50%;
padding: 0 13px 0 0;
}
Zo zit het icoontje nog steeds in de link zelf, en is dus hoverbaar en klikbaar.
Er kan daarom desgewenst ook een hover-verandering voor het icoontje worden
gemaakt ( a:hover u {...} ), of een andere kleur aan het icoontje gegeven
worden als de link bezocht is ( a:visited u {...} ). , met .
Resultaat op deze manier:
Lorem ipsum dolor sit amet, consectetur adipisicing dit is een gewone interne link elit, sed do eiusmod tempor incididunt ut labore et dit is een externe link dolore magna aliqua. Ut enim ad minim dit is een lekkere lange externe link veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla dit is weer een externe link pariatur. Excepteur sint occaecat cupidatat non dit is wel een hele lange externe link maar dat komt soms wel eens voor proident, sunt in culpa qui officia deserunt mollit anim id est laborum.