sunny: Sehr eigenartiges Apple-Problem mit Divs

Hallo liebes Forum,

hab ein sehr eigenartiges Problem mit dem Mac:

Meine Seite besteht aus mehreren absolut positionierten divs, diese haben auch teilweise eine fixe Breite, teilweise ist keine Breitenangabe erforderlich ... das sieht CSS dazu sieht zB. so aus:

#[...] {
 left:375px;
 top:241px;
 width:406px;
 height:350px;
}

Schriftformatierungen werden so vorgenommen:
[...] {
 font-family:Arial, Helvetica, sans-serif;
 font-size:11px;
 color:#666666;
}

Das Problem ist jetzt, Netscape 4.5 auf Apple (IE5 macht keine Probleme, auf Win tritt das Problem in "keinem" Browser auf, weder im alten Netscape noch IE etc.) in all diesen divs die in meiner Seite vorkommen bereits nach einem einzigen Wort die Zeile umbricht, das heißt jedes Wort wird in eine eigene Zeile geschrieben.
Die einzige Ausnahme ist das breiteste div - hier wird immer nach ca. 3 Wörtern umgebrochen ... aber auch das ist viel zu früh.

Das ist natürlich nicht gewünscht und ich kann mir nicht erklären wie es dazu kommt.

Hat diesen Effekt schoneinmal jemand gesehen bzw. weiß jemand wie ich das Ganze unterbinden kann?

Leider kann ich die Seite selbst nicht onlinestellen - mehr Quelltext zu posten wäre kein Problem, wobei es allerdings eigentlich keine Besonderheiten gibt was das CSS oder den HTMLCode betrifft ... ich bin ratlos ...

Grüße aus Salzburg,
sunny

  1. breitenangaben in html helfe ich meistens mit gewalt nach:

    mach ein Gif, welches 1*1 Pixel groß und transparent ist. Dies setze in die erste Zeile der Layers mit einem <br> dahinter. Dabei stell die Höhe auf 1 und die Breite auf die gewünschte.

    gruß
    johannes

    1. Hallo Johannes,

      breitenangaben in html helfe ich meistens mit gewalt nach:

      mach ein Gif, welches 1*1 Pixel groß und transparent ist. Dies setze in die erste Zeile der Layers mit einem <br> dahinter. Dabei stell die Höhe auf 1 und die Breite auf die gewünschte.

      Genau solche "Gewaltlösungen" will ich eigentlich vermeiden ... das erinnert mich immer an die alten filler.gifs in den verschachtelten Tabellen ...

      Gibts keine "wirkliche" Lösung für diesen eigenartigen Effekt? Komischweise tritt er bei mir auch zum ersten mal auf ...

      Ein weiteres Problem ist auch dass es zB. ein div gibt das keine fixe Breite hat sondern sich dem Inhalt anpassen soll (da steht nämlich eine Pfadangabe drin [...]/[...]/ usw.
      Da weiß man vorher nicht wie lang diese sein wird, da keine Leerzeichen im Text vorkommen müsste sich das div ja dann auf jeden Fall der Breite anpassen, oder etwa nicht?

      Da bricht der AppleNN nämlich auch einfach um so wie er will ... schaut nicht wirklich gut aus ... :-(

      Also falls Du noch einen anderen Tipp hättest wärs echt super!

      Liebe Grüße,
      sunny

  2. Hallo sunny,

    ich bin ratlos ...

    das bin ich bei Mac-Browsern immer wieder ;)

    Gruß, Andreas

  3. Hallo,

    • mehr Quelltext zu posten wäre kein Problem,

    wäre vielleicht ganz hilfreich.

    Grüsse

    Cyx23

    1. Hallo Cyx23,

      • mehr Quelltext zu posten wäre kein Problem,

      wäre vielleicht ganz hilfreich.

      habe jetzt eine Testseite online gestellt - allerdings fehlen hier halt alle Bilder, wobei das dürfte kein Problem darstellen.

      http://www33.brinkster.com/enomis/Test/Apple/de/index/index/index.asp

      Was allerdings eigenartig ist, ich hab mir die Seite gerade noch einmal angesehen und jetzt tritt der Effekt eigentlich nur mehr beim Inhaltsbereich auf, also im "Content"-div, da wird die Zeile zu Früh umgebrochen, bei allen anderen divs stimmt es jetzt soweit ich sehen kann, obwohl ich nichts geändert hab bisher ... dieser Apple treibt mich noch zur Verzweiflung ... irgendwie gibts da wohl auch oft ein Caching-Problem obwohl ich mittlerweile den Cache schon jedesmal "händisch" leere bevor ich meine Site aufrufe ... ich versteh nicht ganz was das Ding macht.

      Vielleicht kannst Du mir trotzdem noch weiterhelfen um meine eigenartigen Zeilenumbrüche wirklich zu 100% wegzubekommen ... ich weiß leider weder woher diese kommen noch warum diese plötzlich wieder verschwunden sind. Unser Mac ist mir ein Rätsel ...

      sonnige Montagmorgen-Grüße,
      sunny

      1. Hallo,

        habe jetzt eine Testseite online gestellt -

        das grösste Problem dürfte float sein, da muss man für Netscape 4
        etwas mehr testen und float etwas anders verwenden.

        Probier einfach mal ein zusätzliches p{align:left} im css aus.
        Oder zur Not am Anfang ein Span ohne Zeilenumbruch für die ersten Wörter.

        Bei älteren Versionen wird auch mal padding oder so falsch gesetzt,
        da kann auch mal padding-left:1px; o.ä. nützen.

        Grüsse

        Cyx23

        1. Hallo,

          das grösste Problem dürfte float sein, da muss man für Netscape 4
          etwas mehr testen und float etwas anders verwenden.

          Mh - muss ich dann für Netscape4 Apple noch ein extra Stylesheet einbinden? Gibts da überhaupt eine Möglichkeit? Sonst funktioniert ja mein Win-Stylesheet nicht mehr ...
          zumindest wenn ich das mit dem align im p-Tag ausprobiere schauts auf Win schonmal extrem (schlecht) aus ... am Apple wird deswegen nichts besser.

          Im Gegenteil, jetzt hab ich plötzlich wieder den alten Effekt, dass bei allen divs sofort nach 1 Wort umgebrochen wird, auch wenn ich das align:left; wieder rausgebe den cache lösche und das Ding neu starte ... :-(

          Probier einfach mal ein zusätzliches p{align:left} im css aus.
          Oder zur Not am Anfang ein Span ohne Zeilenumbruch für die ersten Wörter.

          Bei älteren Versionen wird auch mal padding oder so falsch gesetzt,
          da kann auch mal padding-left:1px; o.ä. nützen.

          Hmm eine korrekte Darstellung am Apple krieg ich trotzdem nicht hin und auf Win stimmts dann auch nicht mehr ... wenn ich bloß wüsste wie's auf nem Apple überhaupt wirklich ausschaut ... unserer hier machts einmal so dann wieder so ... keine wirklich gute Testvoraussetzung ...

          Grüße,
          sunny

          1. Hallo,

            das grösste Problem dürfte float sein, da muss man für Netscape 4
            etwas mehr testen und float etwas anders verwenden.

            Mh - muss ich dann für Netscape4 Apple noch ein extra Stylesheet einbinden? Gibts da überhaupt eine Möglichkeit? Sonst funktioniert ja mein Win-Stylesheet nicht mehr ...
            zumindest wenn ich das mit dem align im p-Tag ausprobiere schauts auf Win schonmal extrem (schlecht) aus ... am Apple wird deswegen nichts besser.

            Im Gegenteil, jetzt hab ich plötzlich wieder den alten Effekt, dass bei allen divs sofort nach 1 Wort umgebrochen wird, auch wenn ich das align:left; wieder rausgebe den cache lösche und das Ding neu starte ... :-(

            m.E. gibt es bei Netscape Apple und älteren oder problematischen Win-Versionen 4.07, 451, 470 hier teilweise Ähnlichkeiten.

            Unter 4.70 Win hat deine verlinkte Seite bei mir die Umbrüche nach einem Wort, wenn p{align:left} _nicht_  drinnen steht.

            Damit ist m.E. float als ein grundlegendes Problem bestätigt, welches sich u.U. durch etwas Probieren, u.U. mit älterem Win-NC4, in den Griff kriegen lässt. Bei Mischung von margin, padding, mehreren float musst du ggf. für NN4 vereinfachen, etwa im CSS per * vor NN4 teilweise verstecken.

            Grüsse

            Cyx23

            1. Hi again,

              m.E. gibt es bei Netscape Apple und älteren oder problematischen Win-Versionen 4.07, 451, 470 hier teilweise Ähnlichkeiten.

              Unter 4.70 Win hat deine verlinkte Seite bei mir die Umbrüche nach einem Wort, wenn p{align:left} _nicht_  drinnen steht.

              Hmmmm ... wieviele Netscapes man wohl noch installieren sollte ... unter 4.75 und 4.5 hab ich dieses Problem auf Win nicht ... werd mir aber morgen noch eine ältere Version installieren und mir das Ganze anschauen - mit Hilfe Deiner Tipps.

              Damit ist m.E. float als ein grundlegendes Problem bestätigt, welches sich u.U. durch etwas Probieren, u.U. mit älterem Win-NC4, in den Griff kriegen lässt. Bei Mischung von margin, padding, mehreren float musst du ggf. für NN4 vereinfachen, etwa im CSS per * vor NN4 teilweise verstecken.

              NN4 hat ohnehin sein "eigenes" Stylesheet in meiner Seite. Das dürfte also kein Problem darstellen.

              Liebe Grüße & danke für die Hilfe,
              hoffentlich komm ich morgen mal ein Stück weiter,
              wobei ich eigentlich noch an 3 anderen Projekten arbeiten sollte ... :-/

              sunny

              1. Ich bins nochmal ...

                Das Ganze hat mir jetzt doch keine Ruhe gelassen und ich hab mir noch den Netscape 4.07 auf Win installiert ... beim ersten Laden der Seite trat das Problem auf ... nach einem Reload nicht mehr ... nach mehrmaligen Reload hatte ich dann wieder die ganzen Zeilenumbrüche da, dann wieder nicht mehr ... wie soll ich so je den/die Fehler (oder was auch immer das sind) finden?

                Das mit dem align hab ich natürlich auch gleich ausprobiert ... wobei ich auch hier unterschiedliche Ergebnisse nach mehrmaligem Neuladen hatte ... das ist ja zu Verzweifeln ...

                Vor allem im div "Path" zB. gibt es überhaupt kein float, da kann es gar nicht daran liegen: Es steht einfach nur Text in einem Div das so formatiert wurde:

                #Path {
                 position:absolute;
                 left:164px;
                 top:156px;
                 font-family:Arial, Helvetica, sans-serif;
                 font-size:10px;
                 color:#666666;
                }

                Was kann man denn da noch vereinfachen für Netscape 4.wasweißich ...

                Woran kann hier wirklich noch der falsche Umbruch liegen? Ich versteh schön langsam immer weniger ...

                Verwirrte Grüße,
                sunny

                1. Hallo,

                  Das Ganze hat mir jetzt doch keine Ruhe gelassen und ich hab mir noch den Netscape 4.07 auf Win installiert ... beim ersten Laden der Seite trat das Problem auf ... nach einem Reload nicht mehr ... nach mehrmaligen Reload hatte ich dann wieder die ganzen Zeilenumbrüche da, dann wieder nicht mehr ... wie soll ich so je den/die Fehler (oder was auch immer das sind) finden?

                  sowas gibt es u.U. bei ungünstig eingesetztem JavaScript, und eigentlich nicht bei einer eingebundenen CSS-Datei ohne Inlinestyle.

                  Also Probleme beim Seitenaufbau, vielleicht durch das eingebundene flash (oder die Art der Code-Ausgabe, oder Fehler im Code).

                  Grüsse

                  Cyx23

                  1. Hi,

                    Also Probleme beim Seitenaufbau, vielleicht durch das eingebundene flash (oder die Art der Code-Ausgabe, oder Fehler im Code).

                    Also das Flash bekommt Netscape gar nicht zu sehen weil das Plugin bei mir nicht installiert ist, ich erhalte also ohnehin das Ersatzbild.

                    Der Code sollte auch korrekt sein - selbst der Validator bemängelt nichts außer das "onLoad" im a-Tag (kommt leider aus einem Script das ich nicht abändern darf) sowie der "name" im img-Tag (gleiches Problem wie oben). Daran wirds aber wohl nicht liegen denk ich mal oder?

                    Jedenfalls tritt bei mir das Problem meist nur dann auf wenn das Browserfenster eher klein ist - bei größerem Browserfenster hab ich den komischen Effekt auf Win nur selten, auf Apple leider doch öfter ... ich kanns mir echt nicht erklären ...

                    Lg,
                    sunny

                    1. Hallo,

                      Jedenfalls tritt bei mir das Problem meist nur dann auf wenn das Browserfenster eher klein ist - bei größerem Browserfenster hab ich den komischen Effekt auf Win nur selten, auf Apple leider doch öfter ... ich kanns mir echt nicht erklären ...

                      statt flash könnte z.B. gzip auf dem Server usw. oder irgendwelche Verzögerungen Ursache für Probleme sein, du kannst mal das CSS für Netscape als Test komplett in die Seite schreiben.

                      Bei der Fenstergrösse kann es helfen dem Body, ggf per Javascript, eine passende Grössenangabe zu geben, aber das ist nur eine Idee..

                      Wenn keine Fehler im Code zu finden sind, kannst du noch Seitenteile auskommentieren und schauen ob es irgendwo hängt; was soll übrigens ein "onLoad" im a-Tag?

                      Grüsse

                      Cyx23

                      1. Hi Cyx23,

                        statt flash könnte z.B. gzip auf dem Server usw. oder irgendwelche Verzögerungen Ursache für Probleme sein, du kannst mal das CSS für Netscape als Test komplett in die Seite schreiben.

                        Hab ich gemacht - ändert auch nichts.

                        Bei der Fenstergrösse kann es helfen dem Body, ggf per Javascript, eine passende Grössenangabe zu geben, aber das ist nur eine Idee..

                        Hab ich ebenfalls versucht und hat auch nicht wirklich geholfen ... alles gleich wie vorher.

                        Wenn keine Fehler im Code zu finden sind, kannst du noch Seitenteile auskommentieren und schauen ob es irgendwo hängt;

                        Selbst wenn ich alles weglasse außer das ContentDiv tritt das Problem auf dass der Text zu Früh umgebrochen wird ...

                        Ich hab noch einmal eine Testseite hochgeladen:

                        http://www33.brinkster.com/enomis/Test/Apple/de/index/index/netscape.html

                        Da ist das gesamte NetscapeCSS in der Seite enthalten und ansonsten kein Stylesheet eingebunden ... den JavaScriptTeil von "unserem" RolloverScript hab ich auch gleich direkt in die Seite eingebunden ... Selbst jetzt tritt das Problem bei mir immer noch manchmal auf ... :-(

                        was soll übrigens ein "onLoad" im a-Tag?

                        Tja, das kommt von userem standardmäßigen ImageRolloverScript das wir einsetzen müssen - es ist eigentlich eh das grässliche Ding von Macromedia (*graus*) ... aber alles lässt sich der Chef leider nicht ausreden. Jedenfalls ist da (nachdem alle Inhalte dynamisch sind und aus Datenbanken kommen) der Preload für die Bilder nicht im body-Tag so wie Macromedia es eigentlich macht, sondern unser Script gibt den onLoad-Befehl im a-Tag aus ... ich finds auch besch..., das ganze Teil überhaupt ... aber wie gesagt, manchmal spricht der Chef ein Machtwort ... leider ...

                        Also falls Du vielleicht noch irgendeine Idee hast was ich probieren könnte - ich bin dankbar für jeden Tip.

                        Grüße,
                        sunny

                        1. Hallo,

                          Also falls Du vielleicht noch irgendeine Idee hast was ich probieren könnte - ich bin dankbar für jeden Tip.

                          vmtl. hast du momentan zwei Probleme im Code. Die Code-Abarbeitung beim Seitenaufbau, deswegen unterschiedliches Verhalten offline/online oder cache.
                          Und einen für Netscape 4 ungünstigen Code, z.B. mit #Content {float:left; kann es deutlich werden.

                          Da sind Stolpersteine im Code, die eigentlich nachvollziehbar oder auch hinlänglich bekannt sein sollten oder im Archiv recherchierbar sind.
                          Die Probleme werden m.E. auch mit den bereits von mir genannten Umständen zusammenhängen.
                          Da du schreibst " unser Script gibt den onLoad-Befehl im a-Tag aus " vermute ich dass dir die JavaScripte und deren Auswirkungen auch nicht ganz klar sind, m.E. müsstest du dich erstmal mit JavaScript grundlegend beschäftigen, ansonsten ist es kein Fall für "self".

                          Grüsse

                          Cyx23

                          1. Da du schreibst " unser Script gibt den onLoad-Befehl im a-Tag aus " vermute ich dass dir die JavaScripte und deren Auswirkungen auch nicht ganz klar sind, m.E. müsstest du dich erstmal mit JavaScript grundlegend beschäftigen, ansonsten ist es kein Fall für "self".

                            Ähm ich versteh nicht ganz was Du meinst - mir ist schon klar was das JavaScript bewirken soll, das Vorausladen der RolloverBilder eben und die Funktion dazu wird beim Laden des Links aufgerufen ... was zwar eigentlich nicht so sein sollte in dem Fall aber nicht anders "geht" (weil die Links dynamisch generiert werden, durch ein von mir nicht veränderbares Script, das ich aber einsetzen _muss_) ...

                            Oder was meinst Du jetzt?
                            Das MenüJavaScript stammt von mir selbst und die Flashdetection ist ebenfalls ein Standardscript das bei uns in der Firma eingesetzt wird.

                            Grüße,
                            sunny

                            PS: Den Rest kann ich mir leider erst später anschauen, allerdings hab ich schon - mit Hilfe Deiner Tipps - relativ viel herumprobiert ohne wirklich eine Besserung zu erzielen ... mit Netscape/Apple kann ich wohl einfach nicht umgehen ... :-(

                            1. Oder was meinst Du jetzt?

                              ich zitiere dich nochmals aus deinen Postings:

                              ' unser Script gibt den onLoad-Befehl im a-Tag aus '
                              ' das Vorausladen der RolloverBilder eben und die Funktion dazu wird beim Laden des Links aufgerufen .. '

                              aus der von dir verlinkten html-Datei, der Quelltext sollte dir ja vertraut sein, zitiere ich:

                              ' <body onLoad="MM_preloadImages(... '
                              ' <a href="" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('

                              da liegt doch wohl die Vermututng nahe, dass noch soviel Herumprobieren schwerlich 'eine Besserung zu erzielen' vermag, und der Umstand denn auch weniger dem -allerdings manchmal etwas eigenen- Netscape4/Apple oder meinen Tipps anzulasten ist, zumal es ja gerade um die Wechselbeziehung von HTML und Script geht.

                              Grüsse

                              Cyx23

                              1. Oder was meinst Du jetzt?

                                ich zitiere dich nochmals aus deinen Postings:

                                ' unser Script gibt den onLoad-Befehl im a-Tag aus '
                                ' das Vorausladen der RolloverBilder eben und die Funktion dazu wird beim Laden des Links aufgerufen .. '

                                aus der von dir verlinkten html-Datei, der Quelltext sollte dir ja vertraut sein, zitiere ich: [...]

                                Wie (im Posting) erwähnt bei der von mir verlinkten extra erstellten Testseite (mein Original ist eine asp-Datei die separat ohne Datenbanken etc. natürlich nichts bringt) sind all die onLoads in den a-Tags entfernt worden ... dass es ansch. in den body-Tag gerutscht ist liegt daran dass ich das Script aus Dreamweaver (den ich ansonsten nicht benutze) noch einmal eingefügt habe weil ich weiß dass es dasselbe ist welches bei uns am Server liegt. Dreamweaver wird da ganz eigenmächtig gleich das onLoad eingefügt haben ... das war mir allerdings nicht aufgefallen ... den statischen Quelltext habe ich nur fürs Forum hochgeladen ... ich teste weder damit noch verwende ich ihn sonst irgendwie ... daher ist mir der Quelltext nicht ganz so vertraut. Sorry dass mir das nicht aufgefallen ist und ich "falschen" Quelltext gepostet habe den ich eigentlich gar nicht verwende.

                                Grüße,
                                sunny