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 :)
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 //-->
"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 :)
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 //-->
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 :)
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.
<!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 !-)
-- 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 !-)
Jeg har lige opdaget, at jeg ikke har fået lukket dette spørgsmål. Undskyld ......
Synes godt om
Ny brugerNybegynder
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.