TomIRL: oder CSS Problem (<nobr> und Mozilla)

Hallo allerseits,
Ich suche schon seit 45 Minuten nach ner Erklärung:
Und zwar akzeptiert Mozilla nicht  </nobr> d.h. alle relevanten Datensätze werden ausgelesen und erst danach erfolgt ein Umbruch.

Problem tritt nur im Mozilla auf im IE ists o.k.!

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>...
<link rel="stylesheet" href="portal.css" type="text/css">
</head>
<body>
<div class="textbox">
<?php...

print ("<nobr><a href="$f[l_url]">$f[l_name]</a></nobr>  ");}
?>
</div>

Vielleicht liegt die Ursache auch im CSS konnte allerdings nichts finden, deshalb hier noch einmal die css.datei

/* Default settings for all Pages
 *******************************************/

BODY,pre{font-family : Arial,Helvetica,sans-serif;color : #000080;background-color :#FFFFFF;text-decoration : none;font-size : 12px;}

/* The Link-behaviours
 **********************/
A:link {color:#000080;text-decoration:underline;}
A:visited {color:#000080; text-decoration:underline;}
A:hover {color:#FF4040;text-decoration:none;}
A:active {color:#000080;text-decoration:none;}

.textbox {position:absolute; top:0px; left:200px; width:400px;}

/* The Headers
 *********************/
H1 {font-size:20px;font-weight:bold;font-family : Arial,Helvetica,sans-serif;text-align: center;text-valign: middle}
H2 {font-size : 16px;font-weight:bold;font-family : Arial,Helvetica,sans-serif;}
H3 { font-size : 13px;font-weight:bold;font-family : Arial,Helvetica,sans-serif; color:#FF4040;}

Vielen Dank TomIRl

  1. Kleiner Nachtrag noch:
    Die URL liegen zum Teil in der form http://www.tld.de/
    vor also mit abschliessendem Slash.
    TomIRL

    1. Ich hab zwischenzeitlich probiert das Problem über die css variante in den Griff zu bekommen.
      Ohne Erfolg mit dem gleichen Ergebnis.

      TomIRL

      1. Hallo TOmIRL,

        Imho war und ist <nobr> nichts, weder HTML noch CSS.
        http://selfhtml.teamone.de/html/text/zeilenumbruch.htm#verhindern
        Ich zitiere:
        "Diese Möglichkeit gehört jedoch nicht zum offiziellen HTML-Sprachstandard. Sie sollten sie daher vermeiden."
        Das HTML-Attribut war nowrap und ist es jetzt bei CSS auch.
        http://selfhtml.teamone.de/html/tabellen/gestaltung.htm#zeilenumbruch
        Die HTML-Version ist inzwischen deprecated und es wird explizit auf die Formatierungsmöglichkeit per CSS verwiesen.

        Gruß

        Kurt

        --
        "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
        http://faq.united-web.at
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
        1. Die HTML-Version ist inzwischen deprecated und es wird explizit auf die Formatierungsmöglichkeit per CSS verwiesen.

          Ich habs über CSS versucht ("nowrap") diese Formatierung hat den gleichen EFfekt wie die <nobr> Variante.
          Also IE funktioniert und im Mozilla wird gar nicht umgebrochen.
          Ich werde heute Abend mal den Quelltext auseinandernehmen (Ohne PHP oder sonstigen Kram) und mal gucken wo die Ursache sitzt.

          Trotzdem mal vielen Dank
          TomIRL

          1. Hallo TomIRL,

            Ich habs über CSS versucht ("nowrap") diese Formatierung hat den gleichen EFfekt wie die <nobr> Variante.

            Bist du dir sicher, daß du keinen Formatierungsfehler gemacht hast? Etwa den Bindestrich bei white-space vergessen oder sowas?
            Diese Formatierung hat bei mir noch nie versagt, egal, wie lange die Zeile auch war und welchen Browser ich auch verwendet habe..

            Gruß

            Kurt

            --
            "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
            http://faq.united-web.at
            http://elektro-dunzinger.at
            http://shop.elektro-dunzinger.at
            1. Bist du dir sicher, daß du keinen Formatierungsfehler gemacht hast? Etwa den Bindestrich bei white-space vergessen oder sowas?
              Diese Formatierung hat bei mir noch nie versagt, egal, wie lange die Zeile auch war und welchen Browser ich auch verwendet habe..

              Nö bin ich mir nicht sicher aber ich habs einfach nicht gefunden!
              Deshalb die Seite ist eigentlich eher ein Hobby von mir, deshalb hab ich auch noch keine richtige Zeit gefunden mich drum zu kümmern, aber jetzt gehe ich mal ran mal gucken wo die Ursache ist.

              TomIRL

  2. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">

    falsch

    <?php...

    falsch

    print ("<nobr><a href="$f[l_url]">$f[l_name]</a></nobr>  ");}

    /* Default settings for all Pages
    *******************************************/

    falsch

    BODY,pre{font-family : Arial,Helvetica,sans-serif;color : #000080;background-color :#FFFFFF;text-decoration : none;font-size : 12px;}

    falsch

    /* The Link-behaviours
    **********************/

    falsch

    /* The Headers
    *********************/

    falsch
    --
    &&

    1. falsch

      &&

      Vielleicht mal ne Erklärung?
      Warum Streichst Du meine Kommentare in der CSS Datei als falsch an?
      Und hast Du keinen Mut zu Deinem richtigen Namen zu stehen?

      TomIRl

  3. Hi,

    Hallo allerseits,
    Ich suche schon seit 45 Minuten nach ner Erklärung:
    Und zwar akzeptiert Mozilla nicht  </nobr> d.h. alle relevanten Datensätze werden ausgelesen und erst danach erfolgt ein Umbruch.

    nobr ist kein HTML-Element. Wenn dieses also nicht interpretiert wird, kannst Du Dich nicht bei Mozilla beschweren.

    print ("<nobr><a href="$f[l_url]">$f[l_name]</a></nobr>  ");}

    Innerhalb des Links soll nicht umgebrochen werden. Wenn da kein Whitespace oder ähnliches drinsteht, wird auch nicht umgebrochen (auch ohne das nobr). Nach dem Link darf auch nicht umgebrochen werden (nbsp = Non-Breaking space).

    Wieso sollte hier also umgebrochen werden?

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hi,

      Hallo allerseits,
      Ich suche schon seit 45 Minuten nach ner Erklärung:
      Und zwar akzeptiert Mozilla nicht  </nobr> d.h. alle relevanten Datensätze werden ausgelesen und erst danach erfolgt ein Umbruch.

      nobr ist kein HTML-Element. Wenn dieses also nicht interpretiert wird, kannst Du Dich nicht bei Mozilla beschweren.

      Da hast Du recht.
      Ich hab auch schon mit css Formatierung versucht hat den gleichen Effekt.

      print ("<nobr><a href="$f[l_url]">$f[l_name]</a></nobr>  ");}

      Innerhalb des Links soll nicht umgebrochen werden. Wenn da kein  oder ähnliches drinsteht, wird auch nicht umgebrochen (auch ohne das nobr). Nach dem Link darf auch nicht umgebrochen werden (nbsp = Non-Breaking space).

      Genau das ist das Problem die Namen kommen aus einer DB d.h. es sind Whitespaces drin.
      Also Omas Küche z.bsp.
      Und natürlich verhält er sich dann so, dass er
      den Link umbricht.
      Das versuche ich zu verhindern.

      Nun hab ich durch probieren folgendes rausgefunden:
      Dieser Code klappt:
      <?php
      include("connect.php");
      $sql="SELECT *FROM p_kategorie, p_links WHERE l_k_id=k_id ORDER BY k_name";
      $zeilen = mysql_query($sql,$db);
      //echo mysql_errno() . ": " . mysql_error(). "\n";
      if (!$zeilen) die("Anfrage war nicht erfolgreich");
      else {
      while ($f = mysql_fetch_array($zeilen)){
      if ($f["k_id"]!=$v_OLD){
      print ("<h3>$f[k_name]</h3>");
      $v_OLD=$f["k_id"];}
      -----------------
      Das ist dazu gekommen!

      ?>

      <?php
      ------------------------
      print ("<nobr><a href="$f[l_url]">$f[l_name]</a>  </nobr>");}}
      ?>

      Und dieser nicht:

      <?php
      print ("<nobr><a href="$f[l_url]">$f[l_name]</a>  </nobr>");}}
      ?>

      <?php
      include("db_connect.php");
      $sql="SELECT *FROM p_kategorie, p_links WHERE l_k_id=k_id ORDER BY k_name";
      $zeilen = mysql_query($sql,$db);
      //echo mysql_errno() . ": " . mysql_error(). "\n";
      if (!$zeilen) die("Anfrage war nicht erfolgreich");
      else {
      while ($f = mysql_fetch_array($zeilen)){
      if ($f["k_id"]!=$v_OLD){
      print ("<h3>$f[k_name]</h3>");
      $v_OLD=$f["k_id"];}
      print ("<nobr><a href="$f[l_url]">$f[l_name]</a>  </nobr>");}}
      ?>

      Ich analysiere gerade den Quelltext, um irgendetwas rauszufinden was sich durch das Serverseitige Aktion verändert haben könnte.
      Bin ein bischen ratlos.
      Ich will das jetzt aber verstehen.
      Ist irgendwie völlig komisch.
      Danke für die Hilfe.
      TomIRl

      1. Hi,

        Genau das ist das Problem die Namen kommen aus einer DB d.h. es sind Whitespaces drin.

        Dann ersetze in diesen Texten die Whitespaces durch

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
      2. Hallo TomIRL,

        versuche mal folgendes in deiner CSS-Datei:
        a {white-space:nowrap; }
        oder aber über eine Klasse...

        Gruß

        Kurt

        --
        "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
        http://faq.united-web.at
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at