Avatar billede Slettet bruger
19. oktober 2008 - 19:36 Der er 21 kommentarer og
2 løsninger

Understregning med anden farve end teksten

Hej alle eksperter


Er det muligt vha. nogle mere eller mindre simple css-kommandoer, at lade en understregning af en tekst have en anden farve end selve teksten?


Fx kan man lade et link blive understreget, når musen er henover:

a:hover {
    text-decoration: underline;
}

Mit ønske er, at der fremkommer en rødlig understregning på den sorte tekst, når musen peger på linket, og ikke en sort understregning. Er det muligt?

  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 19:38 #1
Du kan vel bare sætte det som border-bottom i stedet.
Avatar billede w13 Novice
19. oktober 2008 - 19:39 #2
Dvs. border-bottom:1px solid #f00;

Og så skal normale links nok bare have transparent i stedet for #f00 for ikke at hoppe.
Avatar billede or.han Nybegynder
19. oktober 2008 - 19:41 #3
Der er dog forskel på border-bottom og text-decoration: underline.

Jeg har svaret på et lignende spørgsmål: http://www.eksperten.dk/spm/823899
Avatar billede Slettet bruger
19. oktober 2008 - 19:41 #4
Okay.

Vil du ikke uddybe din sidste sætning? Jeg er ikke helt med.

  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 19:43 #5
Ja, hvis der ikke var forskel, ville det jo ikke løse det. :)

Hvad er du i tvivl om, Steeven?
Avatar billede or.han Nybegynder
19. oktober 2008 - 19:44 #6
Min løsning kræver eksempelvis en <span> inde i dine links. Hvis dette er for besværligt eller ikke kan lade sig gøre, er det nok bedst med den løsning som w13 foreslår.
Avatar billede or.han Nybegynder
19. oktober 2008 - 19:46 #7
Det w13 mener er:

a { border-bottom: 1px solid transparent; text-decoration: none; }
a:hover { border-bottom-color: #F00; }
Avatar billede or.han Nybegynder
19. oktober 2008 - 19:48 #8
Så der vil altså være en usynlig border-bottom når musen ikke er over linket. Når musen placeres over linket, altså ved :hover, farves border-bottom rødt.
Avatar billede Slettet bruger
19. oktober 2008 - 19:53 #9
Jeg mente: Hvad mener du med "for ikke at hoppe"? Vil teksten da ellers "hoppe"?


  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 19:59 #10
Ja, hvis den pludselig får en kant på forneden, vil den nok rykke sig lidt i nogle browsere. Derfor lægger vi en transparent kant på fra start.
Avatar billede Slettet bruger
19. oktober 2008 - 20:48 #11
Okay, jeg forstår.

Jeg har forsøgt mig frem med <span>-tags omkring linksene, og det virker fint - i alle andre browsere end Internet Explorer 7.0 ?!
I Firefox, Opera, Apple Safari og Google Chrome fremkommer den røde understregning ved musen over linket som den skaæ, men IKKE i IE.


Jeg har skrevet følgende i min CSS:

span:hover {
    color: #CC6666;
    text-decoration: underline;
}
a:link {
    color: #333333;
    text-decoration: none;
}

Jeg er nød til at skrive "text-decoration: none;" under a:link, for at fjerne den generelle understregning af links.

Hvorfor virker det nu ikke i IE?

  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 20:49 #12
Så vidt jeg husker, tillades :hover kun på a-tags i IE.
Avatar billede w13 Novice
19. oktober 2008 - 20:50 #13
Du kan jo prøve at lægge dette på din span som eksperiment:

onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'"

Hvis det virker med dét, er den gal med :hover.
Avatar billede w13 Novice
19. oktober 2008 - 20:51 #14
Derfor foretrækker jeg personligt border-bottom-metoden, da der derudover også spares både CSS- og markup-kode. =)
Avatar billede or.han Nybegynder
19. oktober 2008 - 21:15 #15
Ja det er korrekt, som w13 siger, at IE kun forstår :hover på a-tags. Der kan du bytte om på <span> og <a>:

HTML:
<a href="#"><span>Min understregning er rød!</span></a>

CSS:
a { color: #000; text-decoration: underline; }
a:hover { color: #F00; }
a span { color: #000 }
Avatar billede Slettet bruger
19. oktober 2008 - 21:35 #16
Okey, jeg forsøger... Vender tilbage lige straks.

Jeg vil lige spørge om en enkelt ting. Hvad angiver det, at man skriver:
a span { color: #000 }  ?

betyder "a span" blot et span-element, der befinder sig mellem a-tags?

  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 21:43 #17
Ja, det er et span-element, der er et såkaldt "barn" af et a-tag. Så det kan godt være sådan her:

<a><b><i><span></span></i></b></a>
Avatar billede Slettet bruger
19. oktober 2008 - 21:50 #18
Okay. Tak for det.

Jeg har ikke forsøgt med den sidstnævnte metode med <span>-elementer alligevel, for jeg fik det til at fungere med border-bottom. Nu passer det helt perfekt - det gør ikke noget, at understregning er lidt længere under teksten end ellers.

Tusind tak for hjælpen. Jeg er nået frem til en glimrende løsning.
Læg meget gerne et svar begge to.

  // Steeven
Avatar billede w13 Novice
19. oktober 2008 - 21:59 #19
Her er et svar. =)

Hvis du mindsker padding og sørger for at øge margin med det samme antal px, så kan du flytte understregningen op, så det ligner en normal understregning. =)
Avatar billede Slettet bruger
19. oktober 2008 - 22:01 #20
OK, så er det problem også løst :) Tak for det.

  // Steeven
Avatar billede or.han Nybegynder
20. oktober 2008 - 09:10 #21
Et svar fra mig.
Avatar billede Slettet bruger
20. oktober 2008 - 10:26 #22
Pointene er uddelt og tråden er afsluttet.

Mange tak for hjælpen.

  // Steeven
Avatar billede w13 Novice
20. oktober 2008 - 15:23 #23
Tak for points! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester