Avatar billede Simon Praktikant
02. januar 2007 - 17:05 Der er 9 kommentarer og
1 løsning

Blinkende baggrundfarve i tabel-celle

I en table ønsker jeg at baggrundsfarven i én af cellerne blinker, men at teksten står konstant. Dertil har jeg lavet et animeret gif, samt indsat teksten oveni.

<body>
<table border=1>
<tr>
<td>
<img width = 100 height = 30 src="blinking.gif"/>
<DIV STYLE="position:relative; top:-30px; left:0px">min tekst</DIV>
</td>
</tr>
</table>
</body>

Problemet er at der er en ekstra linie i bunden af cellen. Den vil jeg ikke have. Normalt indsættes automatisk et  line break  efter <div>-tags. Dette kan jeg forhindre ved at tilføje 'display:inline'. Men så får jeg blot et stort tomrum til højre for mit billed.

Hvordan kan jeg omgå dette problem?
Avatar billede keysersoze Ekspert
02. januar 2007 - 17:12 #1
formentlig bare ved at sætte din kode således op;

<body>
<table border=1>
<tr>
<td><img width = 100 height = 30 src="blinking.gif"/><DIV STYLE="position:relative; top:-30px; left:0px">min tekst</DIV></td>
</tr>
</table>
</body>
Avatar billede mclemens Nybegynder
02. januar 2007 - 19:10 #2
Eller måske:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

</head><body>

<table border="1">
<tr>
<td style="background:url('blinking.gif');width:100px;height:30px;"><div>min tekst</div></td>
</tr>
</table>

</body></html>
Avatar billede Simon Praktikant
02. januar 2007 - 20:18 #3
Til keysersoze: Jeg kan ikke lige se hvori forskellen ligger mellem din og min kode. Jeg har uden held afprøvet dit forslag. Men alligevel tak for hjælpen.
Avatar billede Simon Praktikant
02. januar 2007 - 20:18 #4
Til mclemens: Tak, det virker! Hvis du smider svar får du point.
Avatar billede Simon Praktikant
02. januar 2007 - 20:19 #5
Og i fald at andre også vil have det til at virke fra asp.net, kan man gøre således:

        Table1.BorderWidth = 1;   
        TableRow row = new TableRow();
        Table1.Rows.Add(row);
       
        TableCell tc = new TableCell();
        tc.Text = "min text";
        tc.Style.Add("background", "url('blinking.gif')");
        row.Cells.Add(tc);
Avatar billede keysersoze Ekspert
02. januar 2007 - 20:20 #6
der er ingen forskel - ud over at linieskift er fjernet. Linieskift tolkes som et tegn og derfor snyder det mange gange til give en ekstra mellemrum.
Avatar billede Simon Praktikant
02. januar 2007 - 20:25 #7
Ja ok, det er rigtigt, kunne godt have været. Men jeg fik det ikke til at virke sådan. I øvrigt har jeg heller ikke kontrol over html-koden helt ned på linie-niveau fra asp.net (Selv om jeg jo ikke nævnte noget om asp.).
Avatar billede mclemens Nybegynder
02. januar 2007 - 20:32 #8
Her kommer lige et svar :)
Avatar billede mclemens Nybegynder
02. januar 2007 - 20:38 #9
Mellemrummet der kom var forresten grundet at når man sætter et elements placering via. position:relative; så reserveres det oprindelige plads stadig ... et andet eksempel kunne have set sådan ud (dog mere omstændeligt)

<table border="1">
<tr>
<td><div style="position:relative;"><img src="blinking.gif" style="height:30px;width:100px;"><div style="position:absolute;top:0px;left:0px;">min tekst</div></div></td>
</tr>
</table>

... en td kan ikke sættes til position:relative; derfor en wrapper så absolute placeringen sker ud fra den anden relative div.

... et andet eksempel:

<div style="background:url('blinking.gif');width:90px;height:20px;padding:5px;">min tekst</div>

med border:

<div style="background:url('blinking.gif');width:90px;height:20px;padding:5px;border:1px solid #000;">min tekst</div>
Avatar billede mclemens Nybegynder
02. januar 2007 - 21:20 #10
Tak for point :)
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