Avatar billede webrex Nybegynder
27. august 2005 - 11:55 Der er 18 kommentarer og
1 løsning

java script udvider table td

Er der en vaks, der kan fortælle hvorfor et java script udvider en td celle - hvad kan være problemet? -Den gør det kun i Mozilla og Netscape - ikke i IE. Jeg kalder scriptet med følgende kodestump:

<...
<td align="right" valign="bottom" nowrap><span class="dato"><script type="text/javascript" src="dato.js"></script></span></td>

- og selve scriptet ligger i en ekstern fil

var months = ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"];
var time=new Date();
var lmonth=months[time.getMonth()];
var date=time.getDate();
var year=time.getFullYear();
document.write("<p>" + date + ". " + lmonth + " " + year + "</p>");

// Slut -->

KAN et script udvide cellen - for den gør det ikke når det er almindelig tekst!?
Avatar billede jakobdo Ekspert
27. august 2005 - 12:07 #1
Kan det ikke være style på <p> tagget?
Avatar billede webrex Nybegynder
27. august 2005 - 12:55 #2
Har prøvet at ændre - men det er ikke det.
Avatar billede webrex Nybegynder
27. august 2005 - 13:18 #3
Kan spørge på en lettere måde: Hvorfor er tabellen større end div'en hvori den ligger i nedenstående kodestump: dato.js står i spgm.'et!
<!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" />
   
   
    <style type="text/css">
    html {
        height: 100%;
        width: 100%;
    }
    body {
        background-color: #FFFFFF;
        margin: 0px;
        padding: 0px;
        height: 100%;
        width: 100%;
    }
   
    #menu {
        height: 20px;
        width: 100%;
        background-color: #FBE6F2;   
        border-bottom: 1px solid #BC0929;
    }
   
</style>


</head>
<body>
   

        <div id="menu">
            <table cellspacing="0" cellpadding="0" border="1" height="100%" width="100%">
            <tr>
            <td>
            <script type="text/javascript" src="dato.js"></script>   
            </td>
            </tr>
            </table>
        </div>
</body>
</html>

Med håb om svar! ;)
Avatar billede jakobdo Ekspert
27. august 2005 - 14:43 #4
Det må roenving sgu kunne svare på, hvor mon han har gemt sig?
Avatar billede olebole Juniormester
28. august 2005 - 11:37 #5
<ole>

Sæt cellens lukke-tag op - lige efter script-tag'et:
  <td><script type="text/javascript" src="dato.js"></script></td>


/mvh
</bole>
Avatar billede jakobdo Ekspert
28. august 2005 - 12:57 #6
Undskyld Olebole, du plejer også at kunne tage hånd om det. :o)
Avatar billede webrex Nybegynder
28. august 2005 - 13:19 #7
-Olebole - det virker ikke - og kunne heller ikke se det skulle have betydning? - Virker det da for dig?
Avatar billede roenving Novice
28. august 2005 - 13:25 #8
Hvad bruger du overhovedet p-tagget til i din skriv-dato funktion ?-)

-- det er nemlig et af de tags, som defineres på forskellige måder i de forskellige browsere, oftest med en kombination af lodrette margins og paddings !-)

-- og hvis du i forvejen kaster en tekst i en tabelcelle placeres den vel fint nok uden det !o]
Avatar billede webrex Nybegynder
28. august 2005 - 13:28 #9
>Roeving - har prøvet at definere p med margin 0 og padding 0 - det hjalp ikke -Så er lidt på herrens mark - forstår ikke, hvorfor den kun ses ordentlig i IE?

- Ja, hvis jeg sætter normal tekst i feltet - så virker den faktisk heller ikke  - tabellen overskrider div'en?
Avatar billede roenving Novice
28. august 2005 - 13:34 #10
Overskrider ?-)

-- hvad mener du ?o]
Avatar billede webrex Nybegynder
28. august 2005 - 13:43 #11
I IE er tabellen 100% af div'en dvs. den fylder hele den aflange menuboks ud. Men i Mozilla m.m. er tabellen større (højre) end div'en og går altså ud over denne. Det illustreres nok bedst, hvis du ser det i browseren. Koden ligger i spgm.
Avatar billede jakobdo Ekspert
28. august 2005 - 13:44 #12
100% height/width er generelt noget skidt.
Og ikke en w3 standard.
Det er kun IE som kan håndtere det som mange ønsker!
Prøv at bruge faste størrelser.
Avatar billede roenving Novice
28. august 2005 - 13:59 #13
Problemet er så, at du ikke tvinger IE til at overholde reglerne !-)

-- for et elements totale højde skal ifølge w3cs definition af box-modellen beregnes sådan:

margin-top + border-top-width + padding-top + elementets højde + padding-bottom + border-bottom-width + margin-bottom

-- så hvis du undlader at sætte border på din tabel virker det fuldstændig ens i browserne, men hvis du sætter border på, vil tabellen i en browser, som overholder box-modellen blive border-bredden + de 100% af det omkransende elements højde !o]
Avatar billede webrex Nybegynder
28. august 2005 - 14:35 #14
Det virker stadig ikke - den er ikke kun en border-bredde større - den går meget ud over! >Jakobdo - relative størrelser er vel generelt bedre end faste, så man ikke låser noget? Men måske en af jer så kunne løse flg. lave en div med height: 20px; width: 100%; HVori der ligger en table, der fylder hele div'en, og heri skal der ligge dato-scriptet! - meget enkelt, men tilsyneladende svært.
Avatar billede webrex Nybegynder
01. september 2005 - 13:12 #15
Roenving kan du ikke lave -> "lave en div med height: 20px; width: 100%; HVori der ligger en table, der fylder hele div'en, og heri skal der ligge dato-scriptet!?
Avatar billede roenving Novice
01. september 2005 - 13:18 #16
<div style="height:20px;">
  <table width="100%">
    <tr>
      <td align="right" valign="bottom" nowrap class="dato"><script type="text/javascript" src="dato.js"></script></td>
    </tr>
  </table>
</div>

- og så skal scriptet ikke have p-tags med, da de sikkert kan finde på noget !-)

var months = ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"];
var time=new Date();
var lmonth=months[time.getMonth()];
var date=time.getDate();
var year=time.getFullYear();
document.write(date + ". " + lmonth + " " + year);
Avatar billede webrex Nybegynder
01. september 2005 - 13:54 #17
Det var netop de <p>-tags der forårsagede problemet - og det er nævnt tidligere - hvor jeg prøvede at style dem - men det virkede selvfølgelig ikke da <p>-tagget lå i en ekstern javascript (.js) -fil! Nu virker det! Smid et svar Roenving - (nu jeg tænker over det ... et sjovt navn du har der, er det dit efternavn?) Men tak for hjælpen!
Avatar billede roenving Novice
01. september 2005 - 13:59 #18
Jepz, det er mit efternavn, hvor det dog er ændret, så det kan skrives, selvom man kun kan bruge de engelsk/amerikanske tegn !-)

-- els velbekomme '-)
Avatar billede roenving Novice
01. september 2005 - 14:13 #19
-- og 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