Avatar billede moddi100 Seniormester
10. december 2008 - 16:50 Der er 10 kommentarer og
1 løsning

Klikbart tabel-element

Hej,

Jeg ønsker at lave et bredt link. Det skal gerne kunne spænde over en hel række i en tabel:

Kolonne 1 | Kolonne 2 | Kolonne 3
---------------------------------
Dims1      | 500 m/sek | Tekst
Dims2      | 500 m/sek | Tekst
Dims3      | 500 m/sek | Tekst
Dims4      | 500 m/sek | Tekst

Hvordan kan jeg så lave det sådan, at man kan klikke på en hvilken som helst kolonne i f.eks. række et, og at det så virker som et link? Er det overhovedet muligt? (Ingen Javascript)
Avatar billede zips Juniormester
10. december 2008 - 17:10 #1
Avatar billede moddi100 Seniormester
10. december 2008 - 17:32 #2
Går ikke ud fra det kan laves på en hel række... (Ved godt man kan gøre det for hver kolonne)
Avatar billede zips Juniormester
10. december 2008 - 17:39 #3
Så længe det ikke må være javascript tro jeg ikke det er muligt, for så er det noget med at det skal være <tr> som skal være link i hver række og det er ikke understøttet så vidt jeg ved.
Avatar billede moddi100 Seniormester
10. december 2008 - 17:43 #4
okay. Hvordan kan man ellers lave en hovereffekt hvor alle kolonnerne skifter baggrundsfarve?
Avatar billede zips Juniormester
10. december 2008 - 18:23 #5
Her er måske noget http://www.vladdy.net/demos/iepseudoclassesfix.html men det er med javascript som du ikke ønsker.

I IE virker hover kun på a elementer, derfor er det ikke sådan lige at fikse.
Avatar billede moddi100 Seniormester
10. december 2008 - 20:14 #6
Fandt en løsning.

Satte en hover-effekt på <tr> elementet (Er det valid kode?) og lavede links i hver kolonne. En ting oplevede jeg dog. Hvis jeg satte en højde på tabellen, dækkede linket ikke hele <td> elementet i højden. Den dækkede kun lige der hvor teksten var i højden altså. (Testede det med hover i IE)
Avatar billede moddi100 Seniormester
10. december 2008 - 20:14 #7
Smid også lige et svar
Avatar billede zips Juniormester
10. december 2008 - 20:48 #8
Her er et svar :)

Ja der skal en line-height:50px; på dit a link for at få den med, om det er valid kode med hover på <tr>, det er jo kun at lave en test, men at det ikke virker i alle browser uden hack er nok ikke den vej man skal gå :)

Her er en anden måde, men virker kun i nogle browser http://lawrence.ecorp.net/inet/samples/dhtml-rollover-tble-rows-css.shtml
Avatar billede moddi100 Seniormester
10. december 2008 - 21:00 #9
Der er hoverfunktioner i det ja. Der er dog et problem: Der er absolut ingen logik i hvordan det virker set med IE, aldrig set noget lignende og her taler vi det der er ren css!
Avatar billede olebole Juniormester
11. december 2008 - 10:30 #10
<ole>

IE7+ understøtter hover på alle elementer. Det er dog en _rigtig_ skidt idé at bruge expressions i CSS til IE6. Expressions evalueres konstant, så det performer dårligt og bruger en bunke ressourcer.

Skift af CSS-klasser er heller ikke noget, der umiddelbart kan anbefales, da man hurtig kan sætte browseren på et stort ekstraarbejde med at beregne arveforholdene under den ændrede klasse.

Det eneste logiske ville være at bruge JavaScript. De 12 brugere på WWW, der har slået JavaScript, kan man nok godt tillade sig se bort fra  ;o)

/mvh
</bole>
Avatar billede mireigi Novice
11. december 2008 - 10:36 #11
Du kunne prøve dette:

<table>
  <tr onmouseover="bgColor='#FF9999'" onmouseout="bgColor='#FFFFFF'" onclick="window.location.href='http://www.google.dk'">
    <td>
      Test af noget spøjst.
    </td>
  </tr>
</table>

Det kræver dog javascript, men som Olebole siger, så glem de 0.00001% der ikke har javascript slået til. Det er aktiveret som standard i alle browere i dag.
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