Avatar billede steen_hansen Forsker
05. juli 2005 - 06:45 Der er 33 kommentarer og
2 løsninger

Mulehår

Jeg har dælme godt nok problemer med visning af en side i forskellige browsere. Nu er jeg nået så vidt, at jeg er startet forfra på et helt nyt dokument, så jeg kan få det på plads én gang for alle.

Jeg er nået dertil, at jeg har 3 kolonner:

Tabellens bredde: 990px

Kolonne 1: 180px (ingen padding endnu)

Kolonne 2: 628px (border-left/right: 1px solid black (628px + 2px = 630px), ingen padding endnu)

Kolonne 3: 180px (ingen padding endnu)

180 + 630 + 180 = 990

Det vises perfekt i f.eks. FireFox, men i MSIE er venstre kolonne kun 178 i bredden. Hvorfor nu det? Jeg smider lige HTML og CSS:
Avatar billede steen_hansen Forsker
05. juli 2005 - 06:52 #1
HTML:

<div align="center">
    <table border="0" cellpadding="0" cellspacing="0" id="maintable" class="text11">
        <tr>
            <td align="center" colspan="3" class="full">
                <table border="0" cellpadding="0" cellspacing="0" class="full text11white bodybg">
                    <tr>
                        <td align="left" style="width: 385px; padding: 3px 0px;" class="text11white">&nbsp;</td>
                        <td align="right" style="width: 385px; padding: 3px 0px;" class="text11white">Uge <%=DatePart("ww",date(),2,2)%></td>
                        <td align="center" style="width: 80px; padding: 3px 0px;" class="text11white"><span class="CapitolLetter"><%=WeekdayName(Weekday(date))%></span></td>
                        <td align="center" style="width: 80px; padding: 3px 0px;" class="text11white"><%=Replace(date(),"-",".")%></td>
                        <td align="right" style="width: 60px;  padding: 3px 20px 3px 0px;" class="text11white"><span id="uret"></span></td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td colspan="3" id="banner">
                <table border="0" cellpadding="0" cellspacing="0" class="full">
                    <tr>
                        <td align="center" valign="middle" style="width: 35%;">&nbsp;</td>
                        <td align="right" valign="middle" style="width: 65%; padding-right: 20px;"><a href="" id="blink" target="_blank"><img border="0" src="" alt="" id="bimg"/></a></td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td align="left" valign="top" id="menucolumn">&nbsp;</td>
            <td align="left" valign="top" id="maincolumn">&nbsp;</td>
            <td align="left" valign="top" id="newscolumn">&nbsp;</td>
        </tr>
        <tr>
            <td colspan="3" style="height: 7px; background-image: url('/images/dropshadow.gif');"></td>
        </tr>
        <tr>
            <td colspan="3">
                <table border="0" cellpadding="0" cellspacing="0" class="full">
                    <tr>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 1</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 2</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 3</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 4</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 5</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 6</b></a></td>
                    </tr>
                    <tr>
                        <td colspan="6" align="center" style="padding-bottom: 40px;" class="text11c">COPYRIGHT xxx.dk © 2003 - <%=year(now)%></td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</div>
Avatar billede steen_hansen Forsker
05. juli 2005 - 06:56 #2
CSS:

body {
background-color: #396da5;
margin: 0px; padding: 0px;
}
.bodybg {
background-color: #396da5;
}
#maintable {
width: 990px;
background-color: #fff;
}
#banner {
width: 990px;
height: 90px;
background-image: url('/images/bannerbg.gif');
border-bottom: 1px solid black;
}
#menucolumn {
width: 180px;
background-color: #fff;
}
.dot {
background: url('/images/dotted_line.gif') repeat-x bottom;
}
#maincolumn {
width: 628px;
border-left: 1px solid black;
border-right: 1px solid black;
}
#newscolumn {
width: 180px;
}
.CapitolLetter {
text-transform: capitalize;
}
.full {
width: 100%;
}
.bottom {
padding: 20px 0px;
}
.borderbottom {
height: 1px;
background-image: url('/images/borderbottom.gif');
}
.text11 {
color: black;
font-style: normal;
font-weight: normal;
font-size: 11px;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
line-height: 18px;
}
.paper {
background-color: #fff;
}
a {
font-size: 11px;
color: #336699;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
text-decoration: none;
}
a:hover {
color: #000;
text-decoration: underline;
}


Forøvrigt, er der en mere hensigtsmæssig måde at placere indhold i cellerne? Jeg tænker på align="left" valign="top". Måske

.talign {
text-align: left;
vertical-align: top;
}

<td class="talign">
Avatar billede Slettet bruger
05. juli 2005 - 07:42 #3
Har du husket en korrekt DOCTYPE på siderne, så IE i det mindste forsøger at vise siden korrekt?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Avatar billede steen_hansen Forsker
05. juli 2005 - 07:46 #4
Undskyld, tog det for givet, at alle vidste det :) Den er på plads.
Avatar billede steen_hansen Forsker
05. juli 2005 - 08:07 #5
Hvis du har tid og lyst, kunne det være fedt at se, om du fik det samme resultat, sandbox. Jeg kan ikke se andre fejlmuligheder, end at det må gå galt med border-left/right: 1px solid black; - eller hva'? Irriterende, at så lille en ting har taget så meget tid :)
Avatar billede Slettet bruger
05. juli 2005 - 08:09 #6
Har ikke IE på min maskine, så det er ikke let for mig at teste.
Avatar billede steen_hansen Forsker
05. juli 2005 - 08:12 #7
Ok, håber så på, at andre eksperter snart kommer på banen :)
Avatar billede Slettet bruger
05. juli 2005 - 08:13 #8
Kunne man få et link til siden?
Avatar billede steen_hansen Forsker
05. juli 2005 - 08:23 #9
Den er lidt hemmelig endnu, jeg har ikke så meget lyst til at oplyse adressen, eftersom der mangler en masse :o(

Du kan ikke copy/paste mit CSS/HTML og teste det? Jeg laver gerne hele det samlede dokument her.
Avatar billede Slettet bruger
05. juli 2005 - 08:29 #10
Tjoh, hvis du lægger HELE kilden til siden - det er ok, hvis det er en "indholdsløs" udgave, så hemmelighederne ikke bliver afsløret.

Eventuelt kunne du finde en af de gratis hosts og lægge testsiden der. Eller har du ikke et hjemmesideområde hos din internetudbyder? Lige nu taler vi jo udelukkende om HTML/CSS, så der kræves jo ikke noget serverside scripting.
Avatar billede steen_hansen Forsker
05. juli 2005 - 08:34 #11
Jeg er i gang med at rette til, 2 sek...
Avatar billede steen_hansen Forsker
05. juli 2005 - 08:39 #12
Det var en ordentlig numsefuld, men her kommer det:


bannerrotation.js (står mellem <head></head>):

var tid = 10;

var banners = new Array();
var bannerl = new Array();

  banners[0] = "/images/banners/bpBanner468.gif";
  bannerl[0] = "www.redbarnet.dk";

  banners[1] = "/images/banners/download_asien_468_60.jpg"
  bannerl[1] = "www.redbarnet.dk/stoetos"

var a=new Array(banners.length),timer;
for (i=0;i<a.length;i++){
a[i]=i;
}

function initbanner() {
i=0,t=0,s=0;
  for (i = 0 ; i < a.length ; i++ ) {
  t = Math.floor(Math.random() * a.length);
  s = a[i];
  a[i] = a[t] ;
  a[t] = s;
  }
}

function visbanner(num) {
if(!num){
  num=0;
  initbanner();
}
document.getElementById("blink").href = "http://"+bannerl[a[num]];
document.getElementById("bimg").src = banners[a[num]];
  if(num!=a.length-1)
  timer = setTimeout("visbanner("+(++num)+")",1000*tid);
  else
  timer = setTimeout("visbanner()",1000*tid);
}




funclock.js (står mellem <head></head>):

function funClock() {
(!document.layers && !document.all)
var runTime = new Date();
var hours = runTime.getHours();
var minutes = runTime.getMinutes();
var seconds

= runTime.getSeconds();
if (hours <= 9) {
hours = "0" + hours;
}
if (minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds <= 9) {
seconds = "0" + seconds;
}
movingtime = hours +

":" + minutes + ":" + seconds + " ";
if (document.layers) {
document.layers.clock.document.write(movingtime);
document.layers.clock.document.close();
}
else if (document.all) {
uret.innerHTML = movingtime;
}
else {
document.getElementById("uret").innerHTML = movingtime;
}
setTimeout("funClock()", 1000)
}
window.onload = funClock;




HTML (benytter normalt ikke <style></style>:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Min titel</title>
<META HTTP-EQUIV="Expires" CONTENT="Fri, Jun 12 1981 08:20:00 GMT">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="content-type" content="text/html;charset=iso-8859-1">
<META HTTP-EQUIV="imagetoolbar" content="no">
<META HTTP-EQUIV="Content-language" content="dan">
<META NAME="robots" content="all">
<script type="text/JavaScript" language="JavaScript1.2" src="/includes/js/funclock.js"></script>
<script type="text/JavaScript" language="JavaScript1.2" src="/includes/js/bannerrotation.js"></script>
<style>
body {
background-color: #396da5;
margin: 0px; padding: 0px;
}
.bodybg {
background-color: #396da5;
}
#maintable {
width: 990px;
background-color: #fff;
}
#banner {
width: 990px;
height: 90px;
background-image: url('/images/bannerbg.gif');
border-bottom: 1px solid black;
}
#menucolumn {
width: 180px;
background-color: #fff;
}
.dot {
background: url('/images/dotted_line.gif') repeat-x bottom;
}
#maincolumn {
width: 628px;
border-left: 1px solid black;
border-right: 1px solid black;
}
#newscolumn {
width: 180px;
}
.CapitolLetter {
text-transform: capitalize;
}
.full {
width: 100%;
}
.bottom {
padding: 20px 0px;
}
.borderbottom {
height: 1px;
background-image: url('/images/borderbottom.gif');
}
.text11 {
color: black;
font-style: normal;
font-weight: normal;
font-size: 11px;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
line-height: 18px;
}
.paper {
background-color: #fff;
}
a {
font-size: 11px;
color: #336699;
font-family: verdana, helvetica, tahoma, sans-serif, arial;
text-decoration: none;
}
a:hover {
color: #000;
text-decoration: underline;
}
</style>

</head>

<body onload="funClock(); visbanner();">

<div align="center">
    <table border="0" cellpadding="0" cellspacing="0" id="maintable" class="text11">
        <tr>
            <td align="center" colspan="3" class="full">
                <table border="0" cellpadding="0" cellspacing="0" class="full text11white bodybg">
                    <tr>
                        <td align="left" style="width: 385px; padding: 3px 0px;">&nbsp;</td>
                        <td align="right" style="width: 385px; padding: 3px 0px;">Uge 27</td>
                        <td align="center" style="width: 80px; padding: 3px 0px;"><span class="CapitolLetter">tirsdag</span></td>
                        <td align="center" style="width: 80px; padding: 3px 0px;">05.07.2005</td>
                        <td align="right" style="width: 60px;  padding: 3px 20px 3px 0px;"><span id="uret"></span></td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td colspan="3" id="banner">
                <table border="0" cellpadding="0" cellspacing="0" class="full">
                    <tr>
                        <td align="center" valign="middle" style="width: 35%;">&nbsp;</td>
                        <td align="right" valign="middle" style="width: 65%; padding-right: 20px;"><a href="" id="blink" target="_blank"><img border="0" src="" alt="" id="bimg"/></a></td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td align="left" valign="top" id="menucolumn">&nbsp;</td>
            <td align="left" valign="top" id="maincolumn">&nbsp;</td>
            <td align="left" valign="top" id="newscolumn">&nbsp;</td>
        </tr>
        <tr>
            <td colspan="3" style="height: 7px; background-image: url('/images/dropshadow.gif');"></td>
        </tr>
        <tr>
            <td colspan="3">
                <table border="0" cellpadding="0" cellspacing="0" class="full">
                    <tr>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 1</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 2</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 3</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 4</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 5</b></a></td>
                        <td align="center" class="tdcr bottom"><a href="#" onfocus="this.blur();" class="copyright" title="..."><b>Link 6</b></a></td>
                    </tr>
                    <tr>
                        <td colspan="6" align="center" style="padding-bottom: 40px;" class="text11c">COPYRIGHT xxx.dk © 2003 - 2005</td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</div>

</body>

</html>
Avatar billede Slettet bruger
05. juli 2005 - 09:32 #13
Din kode ligger nu på http://mule.corpus.homelinux.net/

Jeg har tilføjet en lille finesse, som gør det lettere at teste med andre CSS-filer: bare tilføj ?css=adresse-til-cssfil og så vil den bruge den anden CSS-fil i stedet for den style-blok.

Jeg har også lavet et par forslag til alternativ CSS, så prøv at se på:

http://mule.corpus.homelinux.net/?css=noborder.css
http://mule.corpus.homelinux.net/?css=noborder_nomargin.css

Måske er der en af disse, der løser problemet. (Men jeg vil ikke love noget.)
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:21 #14
sandbox, du har dæælme godt nok gjort et stort stykke arbejde. Men den venstre kolonne er stadigvæk kun 178px, og ikke 180px, som angivet :o(

Lader du det ligge lidt endnu? Jeg vil gerne kigge det mere igennem, men jeg har ikke så meget tid lige i dag.
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:24 #15
I FireFox er kolonnen 180px. Jeg har ikke tjekket i flere browsere, men går ud fra, at det kun er MSIE, der har problemerne. Muligvis også Opera :)
Avatar billede Slettet bruger
05. juli 2005 - 10:31 #16
Jo, den kan godt få lov at blive liggende på min maskine lidt tid.
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:37 #17
Tak :) Uanset hvem der evt. kommer med en løsning, får du point for dit store arbejde.
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:44 #18
Jeg har lige kigget http://mule.corpus.homelinux.net/ og http://mule.corpus.homelinux.net/?css=noborder.css igennem. Er der forskel på stylesheets og mit?
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:46 #19
Sorry, så ikke border/margin
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:51 #20
Jeg har kigget dem alle igennem, og det virker ikke i MSIE. Men som sagt, så er jeg meget glad for din indsats. Håber der er andre med gode idéer.
Avatar billede steen_hansen Forsker
05. juli 2005 - 10:54 #21
Jeg har lige sat border/margin: 0px; på både menucolumn og newscolumn. maincolumn er 632px; i MSIE. Temmelig mystisk :/
Avatar billede Slettet bruger
05. juli 2005 - 11:03 #22
Ja, der er forskel, men det har du jo opdaget. Og nej, der er ikke andre forskelle i filerne end border og margin på menucolumn
Avatar billede steen_hansen Forsker
05. juli 2005 - 11:08 #23
Ok :)

Næsten uanset hvad, så bibeholdes de 178px i menucolumn og newscolumn i MSIE. maincolumn er stadig 632px + 2px (den sorte border), og det selvom jeg retter den ned fra 628 til 624. Antallet af pixels passer totalt, men der bliver "stjålet" 2 pixels fra menucolumn, og 2 fra newscolumn, som bliver lagt over i maincolumn.

Nu har jeg også kigget #banner m.m. igennem, men jeg kan ikke gennemskue hvad der går galt.
Avatar billede Slettet bruger
05. juli 2005 - 11:09 #24
Det originale stylesheet ligger forresten også i samme mappe og hedder style.css hvis andre skulle have lyst til at se det uden HTML omkring.
Avatar billede steen_hansen Forsker
05. juli 2005 - 11:12 #25
Jeg bliver nødt til at komme videre i teksten, men du skal foreløbig have mange tak. Jeg har kigget på dine stylesheets, så du behøver ikke at gemme dem for min skyld :)
Avatar billede Slettet bruger
05. juli 2005 - 11:14 #26
De får bare lov at blive liggende, indtil jeg fjerner det hele.
Avatar billede steen_hansen Forsker
05. juli 2005 - 11:31 #27
Jeg skal lige sige, at de 2 x 2 px, som af en eller anden grund bliver smidt over i den midterste kolonne, kunne jeg nok leve med, hvis det ikke var fordi, at det hele eskalerer jo mere der bliver lagt ind på siden. Desuden kan bliver en tabel i den midterste kolonne ikke centreres, selvom der f.eks. er padding: 20px; - den hælder af en eller anden grund altid til venstre i MSIE, og det skulle jo gerne virke, uanset browservalg :)
Avatar billede steen_hansen Forsker
14. juli 2005 - 22:11 #28
Ingen forslag? Jeg er gået i gang med siden HELT fra bunden igen. Har du løsningen, åbner jeg et nyt spørgsmål til 200 point.

sandbox, smid lige et svar :)
Avatar billede Slettet bruger
14. juli 2005 - 22:58 #29
OK.
Avatar billede steen_hansen Forsker
14. juli 2005 - 23:13 #30
Håber det er ok. Tak for indsatsen :)
Avatar billede Slettet bruger
14. juli 2005 - 23:39 #31
Det er fint.

Jeg går ud fra, at jeg roligt kan slette det hele på min server, hvis du er startet forfra?
Avatar billede steen_hansen Forsker
14. juli 2005 - 23:42 #32
Jeg starter fra scratch, og går ikke videre med den øvrige ASP m.m. før tabellerne, cellerne og det øvrige HTML/CSS er på plads. Så slet du bare :)
Avatar billede steen_hansen Forsker
17. juli 2005 - 00:04 #33
For hvem det måtte interessere, så har jeg fået løst problemet: http://www.eksperten.dk/spm/632661
Avatar billede Slettet bruger
17. juli 2005 - 00:13 #34
Godt at roenving kom til der. Han er ganske sej til CSS.
Avatar billede steen_hansen Forsker
17. juli 2005 - 00:17 #35
Han er noget af en rå banan :D

Det har i dén grad drillet. Nu kan jeg fortsætte med det sjove - herligt :)
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