sven: width über Tabelle

Bei einer Seite die ich momentan erstelle gibt es links einen Untermenübereich, oben Logo und drunter die Hauptnavigation.
Darunter, bzw daneben ist der Hauptcontent bereich, welcher Hauptsächlich durch PHP gefüllt wird.

1. Problem (und auch das Hauptproblem):

#content soll 67% breit sein. Da der Inhalt durch ein PHP Script ausgegeben wird habe ich ein Tabellendesign gewählt. Würde nur Text ausgegeben, käme ich auch gut ohne klar, aber da kleine Bilder dabei sind sehe ich das als einzige Alternative, da ich mit NS 4.7 und float schlechte Erfahrungen gemacht habe.
sage ich jetzt #content{width:67%;} und gebe der Tabelle keine Breitenangabe mit, machen es IE6 und Opera und NS 7 richtig, NS 4.7 ignoriert die div Breite.
Gebe ich dem div keine Breitenangabe sondern nur der Tabelle mit width="67%" kommen auch alle mit klar, nur NS 7 nicht.( der macht 100%)
Mache ich beides werden logischerweise die Tabellen zu schmal (2 width Angaben)
Fällt da einem was zu ein??
Es soll auch noch NS 4.7 kompatibel sein und eine Browserweiche wollte ich vermeiden.
Es werden durch das PHP Script mehrere Tabellen untereinander erzeugt.

2. Problem:

Mein Menü ist auch aus reinem CSS, 5 Punkte oben eine gestrichelte Linie und unten auch. die Linie ist ein Border um das div#menue.
 Warum ist der zwischenraum vom schriftgrad abhängig?

3. Problem:

Will ich den linken div mit position:fixed positionieren funktioniert das nur bei NS 7...

Helft mir bitte. Sonst muss ich doch wieder ein Frameset basteln.
oder ne Browserweiche für NS 4.7...
Gibts da irgendwo gute Infos drüber? ich muss ja nur den NS 4 filtern..

Ich kann gerne noch Code Posten, nur leider liegt es nicht auf nem Server, sondern nur auf meinem lokalen Server.

DAnke schonmal. Sven

  1. Hi,

    warum postest du deine Frage jetzt schon hier, wo du sie doch erst gestern Abend in css-design@yahoogroups.de gestellt hast?

    LG Roland

    1. Hi,

      warum postest du deine Frage jetzt schon hier, wo du sie doch erst gestern Abend in css-design@yahoogroups.de gestellt hast?

      hole mir gerne mal ne 2. Meinung ein...
      Sven

      1. Hi Sven,

        warum postest du deine Frage jetzt schon hier, wo du sie doch erst gestern Abend in css-design@yahoogroups.de gestellt hast?

        hole mir gerne mal ne 2. Meinung ein...

        einerseits verständlich, aber jetzt arbeiten womöglich zwei Seiten unabhängig voneinander an der Lösung deines Problems und das ist nicht nett, sogar ausgesprochen unhöflich auch fordernd. Wenn du in der Mailingliste keine entsprechende Hilfe erhältst, kannst du natürlich gerne hier posten, so ist es ja nicht ;)

        Übrigens:

        position:fixed beherrschen nur Mozilla (alle Geckos), Opera und teilweise der M$IE/Mac.

        Den Zwischenraum zwischen den Zeilen kannst du mit line-height: oder margin: bei den Links beeinflussen.

        Das Problem mit der Tabellenbreite ist mir nicht ganz klar, weil du hier offenbar Tabellen und DIVs durcheinanderwürfelst. Netscape 4 hat keine Probleme mit der Breite von DIVs, jedenfalls nicht, wenn man sie absolut positioniert.

        Es ist schwer, ohne passenden Quelltext näher darauf einzugehen.

        LG Roland

        1. Hi Sven,

          hole mir gerne mal ne 2. Meinung ein...

          einerseits verständlich, aber jetzt arbeiten womöglich zwei Seiten unabhängig voneinander an der Lösung deines Problems und das ist nicht nett, sogar ausgesprochen unhöflich auch fordernd. Wenn du in der Mailingliste keine entsprechende Hilfe erhältst, kannst du natürlich gerne hier posten, so ist es ja nicht ;)

          Ok, ich bemühe mich immer höflich zu sein...also sorry. dachte nicht das es so ein großes Problem ist...Entschuldige mich...

          Übrigens:

          position:fixed beherrschen nur Mozilla (alle Geckos), Opera und teilweise der M$IE/Mac.

          Also NS 7 machts auch, IE 6 nicht und Opera 6 auch nicht...

          Den Zwischenraum zwischen den Zeilen kannst du mit line-height: oder margin: bei den Links beeinflussen.

          hmm...werde dann nochmal mit margin experimentieren müssen. Aber wieso verändert er sich beim Schriftgrad ändern?

          Das Problem mit der Tabellenbreite ist mir nicht ganz klar, weil du hier offenbar Tabellen und DIVs durcheinanderwürfelst. Netscape 4 hat keine Probleme mit der Breite von DIVs, jedenfalls nicht, wenn man sie absolut positioniert.

          Nochmal: Ich habe eine Ausgabe aus PHP, welche in einer Weist angeordnet werden soll.
          Konkret geht es um eine News Seite.
          Jeweils ein News eintrag hat eine Überschrift, eine untertext1, neben diesen beiden ein Bild (klein)
          darunter noch untertext2 und einen Link.

          Kann man ja alles mit CSS formatieren, aber NS 4 weigert sich float:right umzusetzen, und imho kann er das auch nciht.
          Also habe ich mir gedacht erzeuge ich das ganze mit einer Tabelle.
          Aber die Tabelle ignoriert die Breite meines Content DIVs. Ich will also in einem DIV Tabellen anzeigen.

          Es ist schwer, ohne passenden Quelltext näher darauf einzugehen.

          verständlich...aber ich hoffe ich habe es gut umschrieben.
          hänge mal die wichtigen stellen drunter.

          LG Roland

          Danke, Sven

          while($main_row = mysql_fetch_array($main))
                                      {
                                      echo"<table border='0' class='tabelle'>";
                                       echo"<tr><td><p class='ueberschrift'>$main_row[ueberschrift]</p></td>";
                                        if($main_row[bild])
                    {
                     echo"<td rowspan='2'><p align='right'><img src='upload_news/$main_row[bild]' width ='100' ></p></td></tr>";
                    }
                   else
                    {
                     echo"</tr>";
                    }
                                        if($main_row[untertext1])
                    {
                     echo"<tr><td><p class='content1'>$main_row[untertext1]</p></td></tr>";
                    }
                   if ($main_row[untertext2])
                    {
                     echo"<tr><td colspan='2'><p class='content2'>$main_row[untertext2]</p></td></tr>";
                    }
                   if ($main_row[hyperlink])
                    {
                     echo"<tr><td><p class='content2' style='margin-left:10px;'>Link: <a href='$main_row[hyperlink]' class='content2'>$main_row[hyperlink]</a></p></td></tr>";
                    }

          echo"<br></table>";

          }
          (die CSS Dateien sind extern)

          #content
           {
           position:absolute;
           left:160px;
           top:150px;
           width:57%;

          height:100%;

          }

          1. Hi Sven,

            Ok, ich bemühe mich immer höflich zu sein...also sorry.

            Kein Problem, sollten wir hier die Lösung finden, wäre ein Hinweis in der Mailingliste, dass das Problem gelöst ist auch noch ganz nett ;)

            position:fixed beherrschen nur Mozilla (alle Geckos), Opera und teilweise der M$IE/Mac.

            Also NS 7 machts auch, IE 6 nicht und Opera 6 auch nicht...

            NS7 = Mozilla, der M$IE auf Windows kann es nicht, Opera 6 dagegen schon. Es muss also ein Fehler im Stylesheet oder der Einbindung sein.

            hmm...werde dann nochmal mit margin experimentieren müssen. Aber wieso verändert er sich beim Schriftgrad ändern?

            Kann man ja alles mit CSS formatieren, aber NS 4 weigert sich float:right umzusetzen, und imho kann er das auch nciht.

            Das ist leider richtig.

            Also habe ich mir gedacht erzeuge ich das ganze mit einer Tabelle.
            Aber die Tabelle ignoriert die Breite meines Content DIVs. Ich will also in einem DIV Tabellen anzeigen.

            Irgendwas stimmt an deinem Code nicht, denn wenn ich ein DIV mit 50% Breite definiere und darin eine Tabelle mit 100%, beziehen sich diese 100% auf das DIV, nicht auf das Fenster. Selbst Netscape 4 schafft das.

            Vorweg: Interessant ist das, was der Browser sieht (HTML-Quelltext der Ausgabe), wie du deine Seiten zusammenstöpselt ist nicht von Relevanz. Auch enthält dein Beispiel nicht das umliegende DIV und die Tabelle hat gar keine Breite, oder?

            (die CSS Dateien sind extern)

            Enthalten sie etwas, was hier von Belang sein könnte?

            #content
             {
             position:absolute;
             left:160px;
             top:150px;
             width:57%;
             height:100%;
             }

            Hier gibt's ein Problem, wenn der Inhalt länger als 100% wird, weil man dann nicht scrollen kann. Das tritt bei kleinem Fenster/großer Schrift auf.

            Es wäre natürlich hervorragend, wenn man sich das mal online ansehen könnte.

            LG Roland

            1. Hi Sven,

              hi orlando.

              Kein Problem, sollten wir hier die Lösung finden, wäre ein Hinweis in der Mailingliste, dass das Problem gelöst ist auch noch ganz nett ;)

              Versteht sich von selbst...

              NS7 = Mozilla, der M$IE auf Windows kann es nicht, Opera 6 dagegen schon. Es muss also ein Fehler im Stylesheet oder der Einbindung sein.

              hmm...ok, aber der Fehler ist mir nicht so wichtig..

              Also habe ich mir gedacht erzeuge ich das ganze mit einer Tabelle. Aber die Tabelle ignoriert die Breite meines Content DIVs. Ich will also in einem DIV Tabellen anzeigen.

              Irgendwas stimmt an deinem Code nicht, denn wenn ich ein DIV mit 50% Breite definiere und darin eine Tabelle mit 100%, beziehen sich diese 100% auf das DIV, nicht auf das Fenster. Selbst Netscape 4 schafft das.

              Aber genau das habe ich getan...ich hänge mal den Quelltext komplett an, und außerdem die CSS Dateien die NS sieht.

              Es wäre natürlich hervorragend, wenn man sich das mal online ansehen könnte.

              Ja, aber habe keinen Webspace mit php/MySql zur verfügung..

              LG Roland

              sven

              <title>audiokonzept</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="css/css_nn.css" rel="stylesheet" type="text/css"> <link href="css/divs_nn.css" rel="stylesheet" type="text/css"> <link href="css/css_o_nn.css" rel="stylesheet" type="text/css" media="all"> <link href="css/divs_o_nn.css" rel="stylesheet" type="text/css" media="all"> <script language="JavaScript" type="text/JavaScript"> <!--

              function MM_reloadPage(init) {  //reloads the window if Nav4 resized   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true);

              function MM_preloadImages() { //v3.0   var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();     var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)     if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } //--> </script>

              </head>

              <body> <div id="left">

              <div id="news">

              <p class="ueber_left">News:</p>  <?                      include('DB_verbindung.inc');                       $main = mysql_query("select * from audio_aktuell order by id desc");

              while($main_row = mysql_fetch_array($main))                             {

              echo"<p class='abstand'><a href='news.php?new=$main_row[id]' class='down'>$main_row[ueberschrift]</a></p>";

              }             ?>

              </div>

              </div> <div id="logo"><img src="pics/Logo_neu.jpg" width="312" height="113"></div> <div id="menue"><a href="home.htm" class="navi" >  home  </a>  <a href="news.php" class="navi" >  news  </a>  <a href="equipment.php" class="navi" >  equipment  </a>  <a href="referenzen.php" class="navi" >  referenzen  </a>  <a href="galerie.php" class="navi" >  team  </a>  <a href="kontakt.php" class="navi" >  kontakt  </a>  <a href="links.php" class="navi" >  links  </a></div>

              <div id="content"> <?      if($new=='')       {        $main = mysql_query("select * from audio_aktuell order by id desc");

              while($main_row = mysql_fetch_array($main))                             {                             echo"<table width='100%' border='0' class='tabelle'>";                              echo"<tr><td><p class='ueberschrift'>$main_row[ueberschrift]</p></td>";                               if($main_row[bild])           {            echo"<td rowspan='2'><p align='right'><img src='upload_news/$main_row[bild]' width ='100' ></p></td></tr>";           }          else           {            echo"</tr>";           }                               if($main_row[untertext1])           {            echo"<tr><td><p class='content1'>$main_row[untertext1]</p></td></tr>";           }          if ($main_row[untertext2])           {            echo"<tr><td colspan='2'><p class='content2'>$main_row[untertext2]</p></td></tr>";           }          if ($main_row[hyperlink])           {            echo"<tr><td><p class='content2' style='margin-left:10px;'>Link: <a href='$main_row[hyperlink]' class='content2'>$main_row[hyperlink]</a></p></td></tr>";           }

              echo"<br></table>";

              }       }      else       {        $main = mysql_query("select * from audio_aktuell where id=$new");

              while($main_row = mysql_fetch_array($main))                             {

              echo"<p class='ueberschrift'>$main_row[ueberschrift]</p>";                               if($main_row[bild])           {            echo"<p><img src='upload_news/$main_row[bild]' width =190></p>";           }                               if($main_row[untertext1])           {            echo"<p class='content'>$main_row[untertext1]</p>";           }          if ($main_row[untertext2])           {            echo"<p class='content'>$main_row[untertext2]</p>";           }          if ($main_row[hyperlink])           {            echo"<p><a href='$main_row[hyperlink]' class='content'>$main_row[hyperlink]</a></p>";           }

              }       }     ?>

              </div> </body> </html>

              DIV Definitionen: #menue  {  position:absolute;  left:160px; top:116px;  margin:auto;  padding:auto;  line-height:15px;   }

              #news  {  position:absolute; left:0px; top:20px; width:103px; height:346px; z-index:13  }

              #newsletter  {  position:absolute; left:2px; top:374px; width:103px; height:119px; z-index:15  }

              #left  {  position:absolute;  left:0;  top:0;  width:153px;  height:100%;  z-index:1;  background-image: url(../pics/left.gif);  layer-background-image: url(pics/left.gif);  background-color: #FFFFFF;  background-repeat:no-repeat;  layer-background-color: #FFFFFF;

              }

              #logo  {  position:absolute; left:160px; top:0px; width:248px; height:76px;  }

              #content  {  position:absolute;  left:160px;  top:150px;  width:57%;  }

              Restlichen CSS Definitionen: body{  font-family: Verdana, Arial, Helvetica, sans-serif;  margin:0;  padding:0;  } a.navi{

              font-size:13px;  color:#3064b3;  font-weight:bold;  text-decoration:none;  margin:auto;  padding:auto;   }

              .ueber_left  {

              font-size:11px;  color:#fff;  font-weight:bold;  text-decoration:underline;  margin-left:10px;  }

              .down  {   font-size:12px;   color:#ccc;  }

              .abstand{   margin:6px;   }

              .content1  {  color:#333;  font-size:12px;  }

              .content2  {  color:#3064b3;  font-size:12px;  text-align:justify;  } .ueberschrift  {  color:#333;  font-size:14px;  font-weight:bold;  } .bild_news  {   width:100px;   float:right;  }

              1. Hi Sven,

                Aber genau das habe ich getan...ich hänge mal den Quelltext komplett an, und außerdem die CSS Dateien die NS sieht.

                die würde ich in einer Datei zusammenfassen, außerdem mich niemals auf eine serverseitige Browserweiche verlassen, die ich da herauslese. Weiters gibt es in deinem Stylesheet einige Fehler und "_" in CSS-Definitionen lasse lieber weg.

                http://jigsaw.w3.org/css-validator/validator?text=%23menue +{ +position%3Aabsolute%3B +left%3A160px%3B+top%3A116px%3B +margin%3Aauto%3B +padding%3Aauto%3B +line-height%3A15px%3B +} %23news +{ +position%3Aabsolute%3B+left%3A0px%3B+top%3A20px%3B+width%3A103px%3B+height%3A346px%3B+z-index%3A13 +} %23newsletter +{ +position%3Aabsolute%3B+left%3A2px%3B+top%3A374px%3B+width%3A103px%3B+height%3A119px%3B+z-index%3A15 +} %23left +{ +position%3Aabsolute%3B +left%3A0%3B +top%3A0%3B +width%3A153px%3B +height%3A100%25%3B +z-index%3A1%3B +background-image%3A+url(..%2Fpics%2Fleft.gif)%3B +layer-background-image%3A+url(pics%2Fleft.gif)%3B +background-color%3A+%23FFFFFF%3B +background-repeat%3Ano-repeat%3B +layer-background-color%3A+%23FFFFFF%3B +} %23logo +{ +position%3Aabsolute%3B+left%3A160px%3B+top%3A0px%3B+width%3A248px%3B+height%3A76px%3B +} %23content +{ +position%3Aabsolute%3B +left%3A160px%3B +top%3A150px%3B +width%3A57%25%3B +} body{ +font-family%3A+Verdana%2C+Arial%2C+Helvetica%2C+sans-serif%3B +margin%3A0%3B +padding%3A0%3B +} a.navi{ +font-size%3A13px%3B +color%3A%233064b3%3B +font-weight%3Abold%3B +text-decoration%3Anone%3B +margin%3Aauto%3B +padding%3Aauto%3B +} .ueber_left +{ +font-size%3A11px%3B +color%3A%23fff%3B +font-weight%3Abold%3B +text-decoration%3Aunderline%3B +margin-left%3A10px%3B +} .down +{ +font-size%3A12px%3B +color%3A%23ccc%3B +} .abstand{ +margin%3A6px%3B +} .content1 +{ +color%3A%23333%3B +font-size%3A12px%3B +} .content2 +{ +color%3A%233064b3%3B +font-size%3A12px%3B +text-align%3Ajustify%3B +} .ueberschrift +{ +color%3A%23333%3B +font-size%3A14px%3B +font-weight%3Abold%3B +} .bild_news +{ +width%3A100px%3B +float%3Aright%3B +}&warning=1&profile=css2&usermedium=all

                Das meint der CSS-Validator dazu.

                Es wäre natürlich hervorragend, wenn man sich das mal online ansehen könnte.

                Ja, aber habe keinen Webspace mit php/MySql zur verfügung..

                Gestatte mir die Frage, wie willst du deine Seiten testen und später publizieren? Auch ist eine Fehlersuche hier damit unmöglich.

                <link href="css/css_nn.css" rel="stylesheet" type="text/css">
                <link href="css/divs_nn.css" rel="stylesheet" type="text/css">

                Wie gesagt, besser zusammenfassen.

                <?
                 PHP-Code, dessen Ergebnis interessant wäre...
                ?>

                <div id="logo"><img src="pics/Logo_neu.jpg" width="312" height="113"></div>
                <div id="menue"><a href="home.htm" class="navi" >  home  </a>  <a href="news.php" class="navi" >  news  </a>  <a href="equipment.php" class="navi" >  equipment  </a>  <a href="referenzen.php" class="navi" >  referenzen  </a>  <a href="galerie.php" class="navi" >  team  </a>  <a href="kontakt.php" class="navi" >  kontakt  </a>  <a href="links.php" class="navi" >  links  </a></div>

                Wozu die vielen   hier? Das lässt sich mit margin-left/right besser lösen. Allerdings hat Netscape 4 AFAIK auch damit ein Problem.

                <?
                 PHP-Code, dessen Ergebnis interessant wäre...
                ?>

                Einzig und allein relevant ist, was Netscape 4 von deinem Code sieht, nicht, was der Server zur Verarbeitung vorgesetzt bekommt. Ich fürchte, so kann ich dir nicht weiterhelfen, da blicke ich nicht durch.

                LG Roland