Avatar billede japping Nybegynder
01. november 2005 - 22:31 Der er 21 kommentarer og
1 løsning

Centrer tabel på side.

Nu har jeg prøvet lidt af hvert uden held. Derfor er mit spørgsmå: Hvordan centrerer jeg følgende tabel på siden:

<table width="1040" cellpadding="1" cellspacing="0" bgcolor="#ffffff">
  <tr>
    <td align="center" valign="middle" height="150" width="150" valign="top" bgcolor="#ffffff">
    &nbsp;
    </td>
    <td align="center" valign="middle" height="150" width="740" background="skins/images/bg_header.jpg">
    &nbsp;
    </td>
    <td align="center" valign="middle" height="150" width="150" valign="top" bgcolor="#ffffff">
    &nbsp;
    </td>
  <tr>
</table>
<table width="1040" cellpadding="1" cellspacing="1">

    <td height="300" width="150" valign="top" bgcolor="#ffffff" class="Table_Content_A">
        &nbsp;
    </td>
    <td height="300" width="740" valign="top" bgcolor="#ffffff" class="Table_Content_B">
    <?php echo $IW->Client_GetContent($_REQUEST['D']); ?>
    <?php echo $IW->Client_GetModule($_REQUEST['D']); ?>
    &nbsp;
    </td>
    <td height="300" width="150" valign="top" bgcolor="#ffffff" class="Table_Content_C">
    &nbsp;
    </td>
</table>
<table width="1040" cellpadding="1" cellspacing="1">
  <tr>
    <td height="20" width="150" valign="top" bgcolor="#ffffff">
        &nbsp;
    </td>
    <td height="20" width="740" background="skins/images/bg_footer.jpg">
        <?php echo $IW->Client_GetFooter(); ?>&nbsp;
    </td>
    <td height="20" width="150" valign="top" bgcolor="#ffffff">
        &nbsp;
    </td>
  </tr>
</table>
Avatar billede olebole Juniormester
01. november 2005 - 22:55 #1
<ole>

Det kommer helt anpå resten af din kode - ikke mindst, hvad der står før dit <html> tag. Hvilken af de tre tabeller, der skal centreres, skal du nok også præcisere  :)

/mvh
</bole>
Avatar billede japping Nybegynder
01. november 2005 - 23:17 #2
Mht. de 3 tabeller er der egentlig kun tale om 1 tabel som i denne kode dannes af 3 tabeller. Jeg kender egentlig ikke grunden til at siden er kodet som 3 tabeller. Måske det er årsagen til mine problemer med centrering ?

Der står dette foran koden (intet efter):

<?php

    class Item {
       
        var $name;
        var $id;
        var $childs=array();
       
        function Item($name,$id)
            {
            $this->name=$name;
            $this->id=$id;
            }

    // end class
    }

    function AddLeaves($root)
        {
        global $IW;
        $sql="select * from ".TABLE_DOCS." where parent_id='".$root->id."' ";
        $sql.="and is_active='1' order by nav_order";
        $result=$IW->DB_Query($sql);   
        for($i=0;$i<$IW->DB_CountResult($result);$i++)
            {
            $root->childs[]=AddLeaves(new Item($IW->DB_Result($result,$i,"link_text"),$IW->DB_Result($result,$i,"id")));
            }   
        $IW->DB_FreeResult($result);
        return $root;
        }

    function PrintItem($item,$prefix)
        {
        echo 'var '.$prefix.'=new Array("'.$item->name.'","?D='.$item->id.'","skins/images/bg_menu.jpg",'.count($item->childs).',15,62);';
        $i=1;
        foreach($item->childs AS $child)
            {
            PrintItem($child,$prefix.'_'.$i);
            $i++;
            }
        }

    $i=1;
    $root=AddLeaves(new Item('root','0'));

?>
<body topmargin="0" leftmargin="0">
<script type='text/javascript'>
    function Go(){return}
    var NoOffFirstLineMenus=<?php echo count($root->childs) ?>;
    var LowBgColor='#ffffff';   
    var LowSubBgColor='#ffffff';
    var HighBgColor='#ffffff';
    var HighSubBgColor='#ffffff';
    var FontLowColor='#000000';
    var FontSubLowColor='#000000';
    var FontHighColor='#000000';
    var FontSubHighColor='#000000';
    var BorderColor='#ffffff';
    var BorderSubColor='#ffffff';
    var BorderWidth=1;
    var BorderBtwnElmnts=1;
    var FontFamily="Verdana";
    var FontSize=8;
    var FontBold=0;
    var FontItalic=0;
    var MenuTextCentered='left';
    var MenuCentered='left';
    var MenuVerticalCentered='top';
    var ChildOverlap=.2;
    var ChildVerticalOverlap=.2;
    var StartTop=132;
    var StartLeft=150;
    var VerCorrect=0;
    var HorCorrect=0;
    var LeftPaddng=3;
    var TopPaddng=2;
    var FirstLineHorizontal=1;
    var MenuFramesVertical=0;
    var DissapearDelay=1000;
    var TakeOverBgColor=0;
    var FirstLineFrame='navig';
    var SecLineFrame='space';
    var DocTargetFrame='space';
    var TargetLoc='';
    var HideTop=0;
    var MenuWrap=1;   
    var RightToLeft=0;
    var UnfoldsOnClick=0;
    var WebMasterCheck=0;
    var ShowArrow=1;
    var KeepHilite=1;
    var Arrws=['',1,10,'',10,1,'',1,10];
    function BeforeStart(){return}
    function AfterBuild(){return}
    function BeforeFirstOpen(){return}
    function AfterCloseAll(){return}
    <?php foreach($root->childs as $item){PrintItem($item,'Menu'.($i++));} ?>
</script>
<script type='text/javascript' src='skins/menu.js'></script>
<!-- Start Skin HTML //-->
Avatar billede olebole Juniormester
01. november 2005 - 23:21 #3
"Mht. de 3 tabeller er der egentlig kun tale om 1 tabel som i denne kode dannes af 3 tabeller." - det fatter jeg ikke det første af  :)

Hvis det, du viser, er hele dit dokument, får du svært ved at få noget somhelst til at fungere. Som minimum skal det jo ende med at ligne noget, der kan forveksles med et HTML-dokument  :)
Avatar billede japping Nybegynder
01. november 2005 - 23:29 #4
Ja, jeg har ikke forklaret mig særlig godt - det indrømmer jeg :-)

Dokumentet er et skin.php der danner rammerne for visningen af siden. Det jeg mener med 3 tabeller er, at de 3 tabeller hver især er 1 felt højt og 3 brede. Når de 3 tabeller kommer efter hinanden bliver det til en 3x3 matrix.

Hele skin.php ser således ud:

<?php

    class Item {
       
        var $name;
        var $id;
        var $childs=array();
       
        function Item($name,$id)
            {
            $this->name=$name;
            $this->id=$id;
            }

    // end class
    }

    function AddLeaves($root)
        {
        global $IW;
        $sql="select * from ".TABLE_DOCS." where parent_id='".$root->id."' ";
        $sql.="and is_active='1' order by nav_order";
        $result=$IW->DB_Query($sql);   
        for($i=0;$i<$IW->DB_CountResult($result);$i++)
            {
            $root->childs[]=AddLeaves(new Item($IW->DB_Result($result,$i,"link_text"),$IW->DB_Result($result,$i,"id")));
            }   
        $IW->DB_FreeResult($result);
        return $root;
        }

    function PrintItem($item,$prefix)
        {
        echo 'var '.$prefix.'=new Array("'.$item->name.'","?D='.$item->id.'","skins/images/bg_menu.jpg",'.count($item->childs).',15,62);';
        $i=1;
        foreach($item->childs AS $child)
            {
            PrintItem($child,$prefix.'_'.$i);
            $i++;
            }
        }

    $i=1;
    $root=AddLeaves(new Item('root','0'));

?>
<body topmargin="0" leftmargin="0">
<script type='text/javascript'>
    function Go(){return}
    var NoOffFirstLineMenus=<?php echo count($root->childs) ?>;
    var LowBgColor='#ffffff';   
    var LowSubBgColor='#ffffff';
    var HighBgColor='#ffffff';
    var HighSubBgColor='#ffffff';
    var FontLowColor='#000000';
    var FontSubLowColor='#000000';
    var FontHighColor='#000000';
    var FontSubHighColor='#000000';
    var BorderColor='#ffffff';
    var BorderSubColor='#ffffff';
    var BorderWidth=1;
    var BorderBtwnElmnts=1;
    var FontFamily="Verdana";
    var FontSize=8;
    var FontBold=0;
    var FontItalic=0;
    var MenuTextCentered='left';
    var MenuCentered='left';
    var MenuVerticalCentered='top';
    var ChildOverlap=.2;
    var ChildVerticalOverlap=.2;
    var StartTop=132;
    var StartLeft=150;
    var VerCorrect=0;
    var HorCorrect=0;
    var LeftPaddng=3;
    var TopPaddng=2;
    var FirstLineHorizontal=1;
    var MenuFramesVertical=0;
    var DissapearDelay=1000;
    var TakeOverBgColor=0;
    var FirstLineFrame='navig';
    var SecLineFrame='space';
    var DocTargetFrame='space';
    var TargetLoc='';
    var HideTop=0;
    var MenuWrap=1;   
    var RightToLeft=0;
    var UnfoldsOnClick=0;
    var WebMasterCheck=0;
    var ShowArrow=1;
    var KeepHilite=1;
    var Arrws=['',1,10,'',10,1,'',1,10];
    function BeforeStart(){return}
    function AfterBuild(){return}
    function BeforeFirstOpen(){return}
    function AfterCloseAll(){return}
    <?php foreach($root->childs as $item){PrintItem($item,'Menu'.($i++));} ?>
</script>
<script type='text/javascript' src='skins/menu.js'></script>
<!-- Start Skin HTML //-->

<table width="1040" cellpadding="1" cellspacing="0" bgcolor="#ffffff">
  <tr>
    <td align="center" valign="middle" height="150" width="150" valign="top" bgcolor="#ffffff">
    &nbsp;
    </td>
    <td align="center" valign="middle" height="150" width="740" background="skins/images/bg_header.jpg">
    &nbsp;
    </td>
    <td align="center" valign="middle" height="150" width="150" valign="top" bgcolor="#ffffff">
    &nbsp;
    </td>
  <tr>
</table>
<table width="1040" cellpadding="1" cellspacing="1">

    <td height="300" width="150" valign="top" bgcolor="#ffffff" class="Table_Content_A">
        &nbsp;
    </td>
    <td height="300" width="740" valign="top" bgcolor="#ffffff" class="Table_Content_B">
    <?php echo $IW->Client_GetContent($_REQUEST['D']); ?>
    <?php echo $IW->Client_GetModule($_REQUEST['D']); ?>
    &nbsp;
    </td>
    <td height="300" width="150" valign="top" bgcolor="#ffffff" class="Table_Content_C">
    &nbsp;
    </td>
</table>
<table width="1040" cellpadding="1" cellspacing="1">
  <tr>
    <td height="20" width="150" valign="top" bgcolor="#ffffff">
        &nbsp;
    </td>
    <td height="20" width="740" background="skins/images/bg_footer.jpg">
        <?php echo $IW->Client_GetFooter(); ?>&nbsp;
    </td>
    <td height="20" width="150" valign="top" bgcolor="#ffffff">
        &nbsp;
    </td>
  </tr>
</table>


<!-- End Skin HTML //-->
</body>
Avatar billede olebole Juniormester
01. november 2005 - 23:40 #5
Kan du ikke bare give mig et link, hvor jeg kan se siden?  :)
Avatar billede japping Nybegynder
01. november 2005 - 23:42 #6
Avatar billede japping Nybegynder
02. november 2005 - 15:51 #7
Noget bud ?
Avatar billede japping Nybegynder
02. november 2005 - 19:47 #8
Jeg troede det var en let opgave. Jeg fordobler gerne pointsummen hvis det er svært.
Avatar billede japping Nybegynder
03. november 2005 - 22:11 #9
Er der slet ingen der vil hjælpe ?

Jeg kigger ind igen i morgen ..... håber nogen er søde at hjælpe.
Avatar billede tille Nybegynder
04. november 2005 - 10:10 #10
det her burde virke

height på en tabel virker så vidt jeg ved kun i IE

<html>
<body bgcolor="#ffffff">
<table width="100%" cellpadding="1" cellspacing="1">
  <tr>
    <td valign="top" align="center" bgcolor="#ffffff">


      <table width="740" cellpadding="1" cellspacing="1">
      <tr>
      <td align="center" background="skins/images/bg_header.jpg">
    &nbsp;
      </td>
      </tr>
      <tr>
      <td valign="top" bgcolor="#ffffff">
        <?php echo $IW->Client_GetContent($_REQUEST['D']); ?>
        <?php echo $IW->Client_GetModule($_REQUEST['D']); ?>
      </td>
      </tr>
      <tr>
      <td valign="top" bgcolor="#ffffff">
        <?php echo $IW->Client_GetFooter(); ?>&nbsp;
      </td>
      </tr>
      </table>
     
    </td>
  </tr>
</table>
<body>
</html>
Avatar billede olebole Juniormester
04. november 2005 - 10:23 #11
tille >> oldnordisk HTML, fra sidste århundrede. Desuden disabler du dels nogle af de vigtigste dele af CSS-standarden - og dels centrerer du alt i IE ... også teksten i tabellen.
Height-attributten har aldrig eksisteret i nogen HTML-standard, men den kan fint sættes i CSS ... hvis koden ellers er iorden  :)

japping >> Jeg har ikke haft tid. Jeg skal nok kikke på det i løbet af idag  :)
Avatar billede japping Nybegynder
04. november 2005 - 11:45 #12
Jeg kan ikke bedømme forslagene før jeg kommer hjem og afprøver det - jeg er jo ikke stærk i HTML. Så jeg kigger ind senere og tester de indkomne forslag.
Avatar billede tille Nybegynder
06. november 2005 - 11:49 #13
så vidt jeg forstod gik spørgsmålet på at centrere en tabel på siden
det gør min html, og teksten bliver da ikke centreret, hvorfor skulle den det ?

men korrekt det er oldschool html, men at benytte tabeller til at lave hele siden er vel  i det hele taget oldschool, derfor lavede jeg det sådan
Avatar billede tille Nybegynder
06. november 2005 - 11:51 #14
"derfor lavede jeg det sådan" hvormed jeg mente det var ligesom udgangspunktet  at alt var lavet i tabeller og derfor fortsatte jeg den vej
Avatar billede japping Nybegynder
08. november 2005 - 12:50 #15
Jeg kan desværre først teste i aften - jeg vender tilbage.

Hvis man ikke bruger tabeller, hvad bruger man så ?
Avatar billede roenving Novice
08. november 2005 - 13:11 #16
F.eks. sådan:

<!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,body{margin:0;padding:0;}
</style>
<title>Centrer elementer</title>
</head>
<body>
<table style="width:640px;margin:0 auto;">
  <tr>
    <td style="height:300px;background-color:#070;color:white;text-align:center;">
      Denne celle er centreret på siden</td>
  </tr>
</table>

<div style="width:640px;margin:0 auto;height:300px;background-color:#007;color:white;text-align:center;">
      Dette element er centreret på siden
</div>
</body>
</html>

-- bemærk, at jeg ikke har fjernet cellens border, så der er en lille forskel, men teknikken skulle være illustreret, ellers spørg !-)
Avatar billede japping Nybegynder
08. november 2005 - 23:03 #17
tille --> din løsning kan jeg kun få til at centrere horisontalt, det centrerer ikke vertikalt. Er det korrekt ?

roenving --> de 2 farvede celler centrere ikke i forhold til vinduets ramme.
Avatar billede roenving Novice
09. november 2005 - 04:55 #18
Vertikal centrering vil jeg ikke selv begive mig ind i, men en ultimativ løsning kan du finde her:

http://www.wpdfd.com/editorial/thebox/deadcentre4.html

-- og hvis de ikke centrerer, har du ikke kopieret hele koden og prøvet at køre det i IE, som ikke overholder basale css-regler medmindre man udtrykkeligt tvinger den til det med præcis den doctype, jeg angiver !-)
Avatar billede tille Nybegynder
09. november 2005 - 09:52 #19
nej det er korrekt, det er fordi height på en tabel, kun findes i IE, og derfor har jeg ikke brugt det.
Avatar billede japping Nybegynder
09. november 2005 - 13:44 #20
Tak for jeres input, jeg vil forsøge mig igen i aften og derefter vende tilbage.
Avatar billede roenving Novice
10. november 2005 - 11:36 #21
Height på tabeller respekteres såvidt jeg ved af alle browsere (i hvert fald alle dem, jeg har forsøgt det i !-)

-- til gengæld findes den ikke i een eneste (x)html-standard, og skal derfor sættes med css !o]
Avatar billede japping Nybegynder
17. februar 2006 - 11:05 #22
Jeg har lige opdaget, at jeg ikke har fået lukket dette spørgsmål. Undskyld ......
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