Avatar billede Slettet bruger
19. juni 2008 - 17:07 Der er 18 kommentarer og
1 løsning

Hover background på celle

Hej,

Hvordan laver i mit stylesheet så når man kører musen henover en celle i en table så skifter baggrunden imens musepilen er inde i cellen?
Avatar billede Slettet bruger
19. juni 2008 - 17:09 #1
Ligelede vil jeg gerne cellen forbliver en bestemt farve når den er aktiv? Kan man lave det med a:? som i nedenstående:

h3 a:link {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #FFFFFF;
    font-size: 10px;
    text-decoration: none;
    font-weight: lighter;}
   
h3 a:visited {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #FFFFFF;
    font-size: 10px;
    text-decoration: none;
    font-weight: lighter;}

h3 a:hover {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #FFFFFF;
    background-color: #72ba68;
    font-size: 10px;
    text-decoration: none;
    font-weight: lighter;}

h3 a:active {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #000000;
    background-color: #FFFFFF;
    font-size: 10px;
    text-decoration: none;
    font-weight: lighter;}
Avatar billede w13 Novice
19. juni 2008 - 17:43 #2
Hvornår er en celle "aktiv"? :)

Jeg ville nok lave hover-funktionen med JavaScript, da det lettere understøttes af alle browsere.

<td onmouseover="this.style.background='red'" onmouseout="this.style.background='blue'">
Avatar billede Slettet bruger
19. juni 2008 - 17:51 #3
Har lige prøvet med dit eksempel. Der er 2 ting:

1: Jeg får en advarsel fra Internet explorer om at man skal tillade browseren at køre scripts eller ActiveX-objekter efter jeg har sat scriptet ind i HTML'en. Hvis brugerne får denne besked hver gang fordi de ikke tillader scripts er det vel meget distreherende?

2: Selve linket skal skifte farve samme tid som cellen skifter farve for at skabe kontrast imellem celle baggrunden og linket. P.t. fungerer dette ikke.
Avatar billede Slettet bruger
19. juni 2008 - 17:53 #4
Forresten, cellen er aktiv når man har klikket på linket. Men kan dette ikke lade sig gøre at styre "automatisk" må der være en anden måde...

Jeg har lige fundet et eksempel af det jeg søger på Wordpress: http://wordpress.dk/

Se menubaren hvordan den fungere... Det er det jeg ønsker!
Avatar billede w13 Novice
19. juni 2008 - 17:53 #5
1) Man får kun den advarsel, når man prøver at køre JavaScriptet fra sin egen computer. Når det ligger på nettet, gør man ikke. Det ville være ret uheldigt, hvis man gjorde, som du selv siger. =)

2) Nej, det fungerer vel ikke, fordi det ikke er lavet.

<td onmouseover="this.style.background='red';this.getElementsByTagName('a')[0].style.background='blue'" onmouseout="this.style.background='blue';this.getElementsByTagName('a')[0].style.background='red'">
Avatar billede Slettet bruger
19. juni 2008 - 17:54 #6
Men hvordan laves det... i CSS'en og HTMLen?
Avatar billede w13 Novice
19. juni 2008 - 17:55 #7
Ligeledes skal cellens "aktivitet" også laves med JavaScript. Det er nemlig kun links, der kan være aktive, så derfor kan det ikke gøres kun med CSS.

For at lave det skal du bruge en form for server-side scripting, såsom ASP eller PHP, medmindre sidens indhold bliver vist i et IFrame.
Avatar billede w13 Novice
19. juni 2008 - 17:55 #8
Hvordan laves hvad?
Avatar billede Slettet bruger
19. juni 2008 - 17:57 #9
Hvordan menuen på www.Wordpress.dk er lavet?

Men det kan være det er lavet ligesom dit eksempel. Det prøver jeg ihvertfald lige. :)
Avatar billede w13 Novice
19. juni 2008 - 17:59 #10
Det med at cellerne er "aktive" har de lavet med PHP og HTML og CSS.
Avatar billede Slettet bruger
19. juni 2008 - 18:12 #11
Det virker ikke helt som jeg gerne vil have det. Når man kører musen over bliver boksen omkring teksten grøn som den skal men linket (ikke baggrunden bag linket) bliver ikke grønt - kun baggrunden. Det er linket jeg gerne vil have skifter farve.

onmouseover="this.style.background='#FFFFFF';this.getElementsByTagName('a')[0].style.background='#56aa4b'" onmouseout="this.style.background='#56aa4b';this.getElementsByTagName('a')[0].style.background='#56aa4b'"
Avatar billede Slettet bruger
19. juni 2008 - 18:14 #12
Kan man ikke ligeledes lave så det er hele cellen der linker og ikke kun link-teksten? :))
Avatar billede Slettet bruger
19. juni 2008 - 18:30 #13
Fik det til at virke ved at ændre style.backgrund til style.color 2 steder...

Nu mangler jeg bare at få hele cellen til at linke.
Avatar billede w13 Novice
19. juni 2008 - 18:50 #14
Sorry ja, color i stedet for background.

For at få tabellen til at linke skal du indsætte en onclick på den:

onclick="window.location.href='side.htm'"

Og hvis man skal kunne se, det er et link, så kan du sætte cursor:pointer på td'ens CSS - så bliver pilen til en hånd, når den er over cellen.
Avatar billede Slettet bruger
19. juni 2008 - 19:02 #15
Jeg ved ikke helt hvordan jeg skal lave cursor:pointer i mit stylesheet. Jeg bruger allerede en class der hedder menu der laver noget padding til højre og venstre for linkteksten, se her:

<td onclick="window.location.href='side.htm'" onmouseover="this.style.background='#72ba68';this.getElementsByTagName('a')[0].style.color='#FFFFFF'" onmouseout="this.style.background='#56aa4b';this.getElementsByTagName('a')[0].style.color='#FFFFFF'"><div align="center" class="menu"><h3><a href="link.html">Om</a></h3></div></td>
Avatar billede Slettet bruger
19. juni 2008 - 19:04 #16
Er det forresten nødvendigt at lave samme hyperlink både på TD'en og på link-teksten?
Avatar billede w13 Novice
19. juni 2008 - 19:07 #17
Så kan du vel lægge:
cursor:pointer;
ind i stylesheetet under .menu{}

Ellers kan du også lægge style="cursor:pointer" direkte på td'en, men det er jo klart bedre at have det i dit stylesheet.

Og ja, du bør nok have linket på både td'en og a'en. Google kan nemlig ikke forstå JavaScript, så derfor skal Google bruge linket. Medmindre du er ligeglad med google.
Avatar billede Slettet bruger
19. juni 2008 - 19:10 #18
Hehe kanon! Nu virker det hele som det skal. Stor tak for hjælpen! :) Smider du et svar så sender jeg points.
Avatar billede w13 Novice
19. juni 2008 - 19:10 #19
Her er et svar! :)
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