Avatar billede kim_bille Nybegynder
22. november 2004 - 22:17 Der er 31 kommentarer og
2 løsninger

width forskel fra IE til Firefox

http://hannebille.dk/image.php
på den nederste række er rammen skæv i IE, men ikke i firefox, hvorfor? og hvordan fixer jeg det?
Avatar billede michael_stim Ekspert
22. november 2004 - 22:22 #1
Hvis du höjreklikker og klikker på vis kilde, så kan du se hvorfor. Du har fejl i din kode, afslutter </td> og </table> alt for mange gange.
Avatar billede michael_stim Ekspert
22. november 2004 - 22:23 #2
Du har formodentlig sat den forkert ind i en loop.
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:25 #3
næppe, hvis det var tilfældet ville det ikke værer valid xhtml:
http://validator.w3.org/check?verbose=1&uri=http%3A//hannebille.dk/image.php
Avatar billede michael_stim Ekspert
22. november 2004 - 22:27 #4
Pröv at klistre din kode her ind.
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:30 #5
gerne :)
echo "<table class=\"imgtbl\" width=\"$totalwidth\">\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="imgtd"><img src="hb55img/small/'.$imgs["file"][$j].'" alt="'.$imgs["title"][$j].'" /></td>';
    echo "  <td class=\"spacer\"></td>\n";
}
echo "</tr>\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="imgttl">'.$imgs["title"][$j].'</td>';
    echo "  <td class=\"spacer\"></td>\n";
}
echo "</tr><tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="holder"><table class="inner"><tr><td class="imgcat">'.$imgs["desc"][$j].'</td>'.
            '<td class="imgstatus">'.$imgs["status"][$j].'</td></tr></table></td>';
    echo "  <td></td>\n";
}
echo "</tr>\n";
echo "</table>\n";
Avatar billede olebole Juniormester
22. november 2004 - 22:32 #6
<ole>

At en kode er 'valid' i forhold til W3C's validator, betyder ikke nødvendigvis, den er korrekt. Validatoren checker 'grammatikken', men kan ikke sige noget om 'fornuften' i koden  :)

Det er ikke klogt at have tomme celler - det giver meget ofte problemer. Det mindste du dkal have er et '&nbsp;'.

Hvorfor i øvrigt XHTML1.1? XHTML1.0 er langt bedre understøttet

/mvh
</bole>
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:36 #7
det er heller ikke med min gode vilje, at der er kommet tomme celler ind, men border-spacing kunne IE slet ikke finde ud af

jeg har haft en &nbsp; i de tomme, det virkede heller ikke. Jeg har sæt dem ind igen, stadig uden held

den "nye" kode:
echo "<table class=\"imgtbl\" width=\"$totalwidth\">\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="imgtd"><img src="hb55img/small/'.$imgs["file"][$j].'" alt="'.$imgs["title"][$j].'" /></td>';
    echo "  <td class=\"spacer\">&nbsp;</td>\n";
}
echo "</tr>\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="imgttl">'.$imgs["title"][$j].'</td>';
    echo "  <td class=\"spacer\">&nbsp;</td>\n";
}
echo "</tr><tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="holder"><table class="inner"><tr><td class="imgcat">'.$imgs["desc"][$j].'</td>'.
            '<td class="imgstatus">'.$imgs["status"][$j].'</td></tr></table></td>';
    echo "  <td class=\"spacer\">&nbsp;</td>\n";
}
echo "</tr>\n";
echo "</table>\n";
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:38 #8
yderligt, så var det jo faktisk syntaksen og ikke semantiken michael_stim anfægtede
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:38 #9
og der er, så du siger, syntaksen validatoren checker
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:43 #10
ole: jeg har "rettet" det til XHTML 1.0, ingen effekt!
Avatar billede olebole Juniormester
22. november 2004 - 22:44 #11
Jaja .... michael_stim så forkert, fordi HTML'en ser ud somom den er kastet hen over et dokument med en møjgreb  :)
Jeg prøver lige at flette den ud til noget, der er fornuftigt at se på  :)
Avatar billede michael_stim Ekspert
22. november 2004 - 22:46 #12
;o)
Sad og var igang med det.
I den sidste forloop. Kan du ikke fjerne tabellen der og körer videre på den gamle, så den ikke generere en ny hver gang?
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:54 #13
michael:
og så lave et colspan på 2 i de to andre løkker, eller hvordan mener du?
Avatar billede kim_bille Nybegynder
22. november 2004 - 22:56 #14
ole: ikke med et møjgreb, men php :) det er jo ikke så vigtigt hvordan det ser ud i html, browserne er jo ligeglad, men nu har jeg da lavet lidt indenting osv, i din ære :)
Avatar billede michael_stim Ekspert
22. november 2004 - 23:02 #15
Du behöver vel ikke colspan, der er jo 2 <td> i hver loop, eller?
Avatar billede michael_stim Ekspert
22. november 2004 - 23:05 #16
Noget á la dette her.

echo "<table class=\"imgtbl\" width=\"$totalwidth\">\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '<td class="imgtd"><img src="hb55img/small/'.$imgs["file"][$j].'" alt="'.$imgs["title"][$j]."/></td>';
    echo "<td class=\"spacer\"></td>\n";
}
echo "</tr>\n";
echo "<tr>\n";
for ($j=0; $j<$i; $j++){
    echo '  <td class="imgttl">'.$imgs["title"][$j].'</td>';
    echo "  <td class=\"spacer\"></td>\n";
}
echo "</tr><tr>\n";
for ($j=0; $j<$i; $j++){
  echo '<td class="holder">'.$imgs["desc"][$j].'</td>';
  echo '<td class="imgstatus">'.$imgs["status"][$j].'</td>';
}
echo "</tr>\n";
echo "</table>\n";

Så forstår jeg ikke hvorfor du har alle de der linieskift (\n), men det er der nok en forklaring til.
Avatar billede kim_bille Nybegynder
22. november 2004 - 23:06 #17
det nederste loop har 3 <td>, eller det vil sige, den har to, hvor den en så indeholder en tabel
Avatar billede michael_stim Ekspert
22. november 2004 - 23:07 #18
Ja, kan du ikke fjerne den tabel, det ser jo ud som om det er den der laver rav i den.
Avatar billede kim_bille Nybegynder
22. november 2004 - 23:08 #19
så har du mistet en <td class="spacer">
Avatar billede michael_stim Ekspert
22. november 2004 - 23:12 #20
Nu har jeg ikke set din CSS, og det er heller ikke min stärke side. Men kan du ikke lägge den sammen med holder eller imgstatus, da det er det eneste sted du bruger den.
Avatar billede michael_stim Ekspert
22. november 2004 - 23:13 #21
Derimod er det olebole's stärke side ;o)
Avatar billede michael_stim Ekspert
22. november 2004 - 23:16 #22
Så nu ser det fint ud ;o)
Avatar billede kim_bille Nybegynder
22. november 2004 - 23:17 #23
Har fixet det via at fjerne den inderste tabel, og giver de ander td's et clospan=2

micheal eftersom du ledte mig på sporet, så skal du da have lidt point, så hvis du lige svare
Avatar billede michael_stim Ekspert
22. november 2004 - 23:18 #24
Värsgo.
Avatar billede kim_bille Nybegynder
22. november 2004 - 23:20 #25
til dem der er intereseret, så var det helt ligegyldigt om det var xhtml 1.1 eller 1.0, i hvert fald i dette tilfælde. (Nu er det tilbage i 1.1)
Avatar billede olebole Juniormester
23. november 2004 - 00:20 #26
Det med XHTML var blot en sidebemærkning ... det undrede blot, at du bruger en standard, der kun er sparsomt understøttet  :)
Avatar billede kim_bille Nybegynder
23. november 2004 - 18:10 #27
Hvad understøtter ikke XHTML 1.1?
Avatar billede olebole Juniormester
23. november 2004 - 21:11 #28
Det gør IE ikke ... og den er jo trods alt ikke helt bette i markedsandel  ;o)
Avatar billede olebole Juniormester
23. november 2004 - 21:15 #29
For at understøtte XHTML1.1 skal browseren understøtte MIME-typen 'application/xhtml+xml' - og det gør IE ikke. Op til og med XHTML1.0 kan man 'nøjes' med 'text/html', som IE understøtter
Avatar billede kim_bille Nybegynder
23. november 2004 - 21:25 #30
Har du en kilde på det? Ikke at det ville undre mig at MS igen ikke overholdt en standard, men det render da okay
Avatar billede olebole Juniormester
25. november 2004 - 01:00 #31
Tjahh ... kilden er din browser  :)
Du kan f.eks. checke, hvilke MIME-types den understøtter med (PHP):

<?
print $_SERVER["HTTP_ACCEPT"];
?>

Jeg mener, den ligger i 'ServerVariables' under ASP. Hvad der skal sættes af MIME i forhold til markup-versionerne, kan du læse dig til på W3C
Avatar billede olebole Juniormester
25. november 2004 - 01:03 #32
... men som sagt er det 'application/xhtml+xml' til XHTML1.1 - og så er det 'text/html' til XHTML1.0 og alle HTML-versionerne
Avatar billede olebole Juniormester
25. november 2004 - 03:26 #33
Der er iøvrigt også en browseroversigt her:
  http://www.w3.org/People/mimasa/test/xhtml/media-types/results

I det hele taget kan man sige, at netop det, at man lige søger en hurtig dokumentation på dette eller hint forhold, rummer hele problemet. For 5-10 år siden var WWW kanon let at kaste sig over - men med tiden har teknologien udviklet sig eksplosivt. WWW-kodning har udviklet sig til et decideret fag, som det tager en meget stor indsats at lære.

At kunne kode XHTML, CSS og JavaScript (og gøre det 'uden bind for øjnene' - men udfra en forståelse af teknologierne) kræver, at man kan sine W3C-standarder for XML, XHTML, CSS samt for ECMA-DOM bindings.
Det svarer nogenlunde til at kunne kende hammeren fra skruetrækkeren, når elektriker lærlingen kikker i sin værktøjskasse.
Derefter kommer så hele forståelsen. Det kræver mange, mange hundrede timers læsning af oceaner af baggrundsdokumenter, white-papers, udvikler mail-tråde, m.m.m. på W3C.

Det er der bare ikke ret mange, der gider og derfor er de billigt til salg, når en eller anden, der heller ikke har sat sig ind i baggrunden, lokker med hurtige forklaringer i diverse web-tuts.
Derfor er næsten al den XHTML, der idag bliver skrevet helt til grin og guddommelig overflødig.

Grunden til, man bør skrive XHTML er, at så overtager browserens XML-parser tolkningen af siden. Når siden er parsed og tegnet i browseren, foretages den efterfølgende DOM-behandling ligeledes som XML.
Det er en kanon fordel, da XML altid er velformet og dermed langt hurtigere at arbejde med, da browseren ikke skal gætte, lukke tags, neste om på elementer, osv, osv.

Det betyder til gengæld også, at man ikke kan bruge de 'gamle' script-DOM bindings, som f.eks:
  document.images.PIC_NAVN
eller:
  document.FORM_NAVN.FELT_NAVN
... osv. I stedet skal man bruge W3C's ECMA-DOM bindings overalt.

Skal man i HTML spørge på et elements tagName, bliver dette altid returneret i uppercase. Da XML er case-sensitive, returneres tagName som mixed case i XHTML - nøjagtig som tag'et er skrevet. Det sætter naturligvis hurtigt vand over til røvfuld  ;o)

Nu er det sådan at ingen af de XHTML-versioner, vi har i øjeblikket, er fuldblods XHTML. Det er mere eller mindre ligegyldige overgangsfænomener, som kun ganske få kodere formår at udnytte til noget fornuftigt. Først XHTML2.0 bliver ren XML ... indtil da, er der tale om en hybrid mellem HTML og XML.

Understøtter browseren ikke den korrekte MIME-type til XHTML-versionen, er det i dag HTML-parseren, der tager over og det samme gælder, hvis man ikke sørger for at skræddersy sine scripts til XML-DOM.
Hvis vi så forstiller os, at man skræddersyer sine scripts til XML-DOM'en, ja så er man på jo spanden, hvis man rammer en browser, der ikke forstår MIME-typen. Så returneres f.eks. tagName nemlig igen som uppercase.

Nu er det de færreste, der målretter deres scripting mod XML, så de kommer ikke ud i, at deres JS fejler, hvis browseren ikke forstår MIME-typen.
Til gengæld burde deres scripts fejle, når disse f.eks. blev kørt under en Gecko-baseret browser. Det gør de imidlertid ikke, fordi det er HTML-fortolkningen, der overtager arbejdet med dokumentet.
At koderen dermed fjerner al fornuftig grund til at skrive XHTML synes sjældent at give årsag til hævede øjenbryn. HTML-parseren er rystende ligeglad om koden er velformet eller bare rimelig HTML4.01-Trans - det performer den ikke væsentligt bedre af.

XHTML er vildt over-hype'et modefænomen. Det er buzzy at kunne sige, ens site er skrevet i XHTML. Det giver web-respect at have et lille, grimt, gult W3C-banner på sin side, der stritter mod de fleste ellers smagfulde designs - og som i bund og grund ikke fortæller andet end, at koderen er begavet nok til at læse en manual og gøre, som der står.
Først når XHTML2.0 kommer på banen, kommer der for alvor fornuft i at skrive XHTML, men det bliver så til gengæld en voldsom udfordring for manges kode-disciplin.

Her på E er vi et par enkelte brugere, der tør gå mod lemmingerne, pege og sige: "Jamen, han har jo ingen tøj på" - i overført betydning  :)
Det er næsten som at pisse på Biblen ... folk kyler desparat rundt med løsrevne 'skriftsteder' uden at have forstået sammenhængen ... og det kan til tider nå nærmest hysterisk, religiøse dimensioner  :D

... og vi har endnu ikke været rigtig inde på CSS og tabel-o-fobi viraet  *LoooL*
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