Calocybe: Ausrichtung von DIVs IE vs. NS

Hi folks!

Tja, heute mal so rum: Da ich meine Seiten primaer fuer den lieben Herrn Netscape entwickel, habe ich hinterher meine Probleme, sie an den boesen IE anzupassen. (Das nur als Hinweis fuer die Netscape-Hasser-Fraktion - es kommt also oft einfach nur drauf an, auf welcher Seite man beginnt.)

Da waere also eine Seite, die ich mal nach http://www.geocities.com/SiliconValley/Lakes/1458/__foo/self_forum/elodia.html hochgeladen habe. Sie enthaelt die Liedtexte einer CD, jeweils in Deutsch (original) und Englisch (Uebersetzung). Ich moechte nun die gesamte Seite insgesamt zentriert ausgerichtet haben, jedoch die deutschen Texte mehr auf der linken Seite und die englischen mehr auf der rechten. Dazu verwende ich DIVs wie folgt:

<DIV CLASS="poem">
        <DIV CLASS="poemorig">
            <P CLASS="poemverse">
                Hier eine Strophe in der Originalsprache (meist Deutsch)
            </P>
            <P CLASS="poemverse">
                Noch eine Strophe
            </P>
        </DIV>

<DIV CLASS="poemtrans">
            <P CLASS="poemverse">
                Strophe der Uebersetzung (Englisch)
            </P>
        </DIV>
    </DIV>

Die Ausrichtung sollen folgende CSS-Statements besorgen:

div.poem {
        width:80%;
        border:solid 1px red; margin-bottom:1cm; padding-top:0.5cm; padding-bottom:0.5cm;
        page-break-after:always;
        text-align:center;
    }
    div.poemorig {
        width:80%;
        border:solid 1px blue; margin-bottom:0.5cm;
        text-align:left;
    }
    div.poemtrans {
        width:80%;
        border:solid 1px blue; margin-top:0.5cm;
        text-align:right;
    }
    p.poemverse {
        font-family:"Times New Roman"; font-size:10pt; font-style:italic;
        text-align:center;
    }

Ein Lied (poem) soll also in einer DIV Platz finden, die 80% der Breite des Fensters einnehmen darf und dort zentriert ist. Innerhalb dieser DIV sind zwei weitere DIVs, jeweils 80% der Parent-DIV breit. Die eine, die den Text in der Originalsprache enthaelt (poemorig), soll am linken Rand der Parent-DIV kleben, die andere am rechten. Innerhalb jeder der beiden Child-DIVs gibt es nun ein paar Strophen (poemverse), deren Text wieder zentriert ausgerichtet ist. Das klappt mit dem Netsi auch ganz gut, nur der IE will halt nicht.

Der IE richtet die poem-DIV linksbuendig im Fenster aus, alles was drin ist, ist innerhalb dieser grossen DIV zentriert. Fast scheint es so, als wuerde der IE die text-align-Angabe nur auf den Inhalt einer DIV beziehen, nicht jedoch auf die DIV selbst. Das kann's jedoch auch nicht ganz sein, denn dann muessten ja die einzelnen Strophen zumindest innerhalb der Child-DIVs links- bzw. rechtsbuendig ausgerichtet sein; sie sind jedoch zentriert. Trotzdem funktioniert ein Workaround fuer den IE, bei dem jede DIV nochmal in eine DIV gesteckt wird, die dasselbe Ausrichtungsattribut erhaelt. Die poem-DIV wird also durch eine weitere DIV mit dem Style-Attribut text-align:center umhuellt. Ich habe das mal an dem ersten Lied demonstriert.

So weit so gut. Nee, eigentlich schlecht, ich hab naemlich keinen Bock, mir wegen dem IE meinen ganzen huebschen Code zu versauen. Eigentlich koennte er mir ja egal sein, aber ich habe vor, diese Seite auszudrucken und dabei die CSS-Angabe page-break-after zu verwenden - und die kann der Netsi nun wieder nicht.

Naja, und nun meine Frage: Kriege ich dieses Layout auch ohne die ganzen surroundenden DIVs fuer den IE hin?

Uebrigens, was ich hier quatsche beziehe ich alles auf die Versionen Netscape 4.08 und IE4.72 (jedenfalls steht das in der Versionsangabe).
Wer sich des Problems intensiver annehmen moechte, kann sich statt der HTML-Datei die [http://www.geocities.com/SiliconValley/Lakes/1458/__foo/self_forum/elodia.zip] runterziehen, die enthaelt dann den GeoCities-Werbemuell nicht.

Thanx for listening and hopefully for solution, Calocybe

  1. Hallo Roland,

    [http://www.geocities.com/SiliconValley/Lakes/1458/__foo/self_forum/elodia.zip] runterziehen,
    sogar Dir passiert so was, hurraa!!!

    Viele Grüße

    Marlies

  2. Hi,

    ich brauche eine Routine, mit der ich die Version der installierten JRE ausgeben kann.

    Die Java-Routine an sich funktoniert, allerdings verzweifle ich an dem simplen Javascript, welches mir das Ergebnis anzeigen soll.

    Im NS6.0, NS4.x und Opera funktioniert es, nur der IE meint: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht".
    Er hängt sich immer an der Zeile "var JVersion = document.myApplet.getJavaVersion();" auf.

    Entweder ist der IE zu doof oder der Fehler liegt mal wieder zwischen den Ohren des Programmierers....

    *verzweifel*

    Hat jmd. einen Ratschlag ?

    Danke :)

    Kay

    <-- HTML Code -->

    <HTML>
    <HEAD>
    <TITLE>Detect Java Runtime</TITLE>
    </HEAD>

    <SCRIPT LANGUAGE="JavaScript">

    function getJava(){
     var applet = document.myApplet;
     if(applet == null){
      JVersion = ("kein Java installiert.");
      return JVersion;
     }
     var JVersion = document.myApplet.getJavaVersion();
     return (JVersion);
    }

    function display(){
     var string2 = getJava();
     document.writeln(string2);
     }

    </SCRIPT>

    <body>

    <Strong>Check Java Plugin</strong>

    <OBJECT id="myApplet" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    WIDTH = 1
    HEIGHT = 1 >

    <PARAM NAME = CODE VALUE = "DetectPluginApplet.class" >
    <PARAM NAME="scriptable" VALUE="true" >
    <embed type="application/x-java-applet;version=1.3"
    code = DetectPluginApplet width = 2 height = 2 MAYSCRIPT = "true" >
    </embed>
    </EMBED>
    </object>

    <table>
    <tr class="main-table-content">
     <td>Java-Plugin:</td>
     <td>
      <script language="JavaScript">
       display();
      </script>

    </td>
    </tr>
    </table>

    </BODY>
    </HTML>

    <-- HTML Code Ende -->

    <-- Applet Code -->

    import java.awt.*;
    public class DetectPluginApplet extends java.applet.Applet
    {
    public void init()
    {
    add(new Label("DetectPluginApplet"));
    }
    public String getJavaVersion()
    {
    return System.getProperty("java.version");
    }
    }

    <-- Applet Code Ende -->

    1. Hallo Thomas!

      Vielen Dank erstmal fuer Deine Muehe. Ausprobieren kann ich's aber erst morgen (das ist natuerlich heute *g*), wenn ich wieder auf Arbeit bin, da ich hier zu Hause keinen IE habe.

      Bis dann, Roland

      P.S. Marlies: Ja, passiert schon mal. Kannst ja mal ne Archivsuche nach Verfasser=Calocybe machen, da findest Du sicher auch noch ein paar Rechtschreibfehler. ;-)

    2. Hi Thomas!

      Ja, das sieht recht huebsch aus *g*, ab hier komm ich sicher allein zurecht. Naja, fast jedenfalls, denn bei einem Probedruck faellt mir auf, dass sich der IE4 keineswegs an mein page-break-after-Statement haelt, was er eigentlich sollte, wenn die Icons bei <../../tdcj.htm#a10> stimmen. Hab ich da noch was falsch gemacht, oder kann das der IE4 doch nicht, oder weisst Du vielleicht sonst noch was zu dem Thema?

      Roland

      1. Hallo Roland!

        der IE4 keineswegs an mein page-break-after-Statement haelt, ... oder kann das der IE4 doch nicht, oder weisst Du vielleicht sonst noch was zu dem Thema?

        Können sollte das der IE4:
        versuche mal ein <div style="page-break-after:always;"> </div> nach <DIV CLASS="poem"></DIV> einzufügen. Oder aber ein page-breake-befor;always; .

        Grüße
        Thomas

        1. Hi again!

          versuche mal ein <div style="page-break-after:always;"> </div> nach <DIV CLASS="poem"></DIV> einzufügen.

          Allright, so geht's! Immer gut, nen CSS-Experten in der Naehe zu haben. ;-)
          Danke nochmal.

          Bye, Roland

          1. versuche mal ein <div style="page-break-after:always;"> </div> nach <DIV CLASS="poem"></DIV> einzufügen.
            Allright, so geht's! Immer gut, nen CSS-Experten in der Naehe zu haben. ;-)

            ... und jetzt noch einen print-preview-mode in MSIE, dann könnte ich endlich meine Druckerei auf ganze Seiten ohne Blindflug machen, seufz ...

            1. Hi!

              ... und jetzt noch einen print-preview-mode in MSIE, dann könnte ich endlich meine Druckerei auf ganze Seiten ohne Blindflug machen, seufz ...

              In der Tat, das hat mich auch angereihert! Was soll ich sagen, Netscape kann das... ;-)

              So long

  3. Huhu, nur mal dazu:

    Tja, heute mal so rum: Da ich meine Seiten primaer fuer den lieben Herrn Netscape entwickel, habe ich hinterher meine Probleme, sie an den boesen IE anzupassen. (Das nur als Hinweis fuer die Netscape-Hasser-Fraktion - es kommt also oft einfach nur drauf an, auf welcher Seite man beginnt.)

    FALSCH(er Ansatz)! - wuerde ich sagen. Denn wenn Du auf der "richtigen Seite" - also den HTML-Spec. des http://www.w3c.org - beginnst, dann stehen zwar beide Browser nicht gerade gut da, aber Netscape bleibt die Kroenung im negativen Sinne!
    (Im uebrigen: Ich bin alles andere als ein IE-Fan!!).
    Gruss,
    Daniel

    1. Auch huhu!

      FALSCH(er Ansatz)!

      Was genau meinst Du? Dass ich primaer fuer NS entwickel oder dass NS mein Lieblingsbrowser ist?

      Falls 1.: Es handelt sich hier lediglich um eine Art Datenhaltung fuer mich ganz alleine, und bis ich mich mal mit XML beschaeftigt habe, verwende ich eben dieses Format. (Daher gibt es in der gesamten Datei auch keinen Text, der nicht in Tags eingeschlossen ist, die ein CLASS-Attribut enthalten.) Solche Seiten optimiere ich selbstverstaendlich fuer meinen Lieblingsbrowser, bzw. den einzigen, der mir privat ueberhaupt zur Verfuegung steht. Wenn ich Seiten im Internet veroeffentlichen will, gehe ich natuerlich kompatiblere Wege.

      Falls 2.: Mir ist sehr wohl bekannt, dass der Netscape jede Menge Bugs hat und die Renderengine dieses Browser im Prinzip eine programmiertechnische Katastrophe ist. Trotzdem ist es der beste Browser, den ich kenne (Opera hat mir vom Handling her nicht gefallen; Amaya hab ich noch nicht probiert; und IE faellt sowieso aus). (Stell Dir vor, obwohl der Netsi auch in seiner Speicherverwaltung nicht gerade glaenzt, braucht er mit mehreren geoeffneten Fenstern und inclusive geladenem Mail-Client noch weniger Speicher als der IE, der nur eine einzige kleine Seite anzeigt. Und trotzdem fuehrt er einen Befehl aus, sobald er ihn von mir kriegt, waehrend der IE fuer jede durchzufuehrende Aktion erstmal irgendwas von der Platte laden muss und 3 Sekunden spaeter anfaengt.) Und deshalb bleibe ich vorerst bei Netscape.

      So, das musste heute mal wieder raus. Ach tut das gut! ;-)

      (Im uebrigen: Ich bin alles andere als ein IE-Fan!!).

      Tja, na dann gebe ich Dir noch ein kleines Argument fuer zukuenftige Schlachten im Browser-War mit auf den Weg. Wenn sich mal wieder jemand ueber Netscapes mangelnde CSS-Faehigkeit beschwert, kannst Du ihm ja mal das: <../../sfarchiv/1999_4/t08508.htm#a43179> unter die Nase halten. ;-)

      Bye, Calocybe

      1. Tja, na dann gebe ich Dir noch ein kleines Argument fuer zukuenftige Schlachten im Browser-War mit auf den Weg. Wenn sich mal wieder jemand ueber Netscapes mangelnde CSS-Faehigkeit beschwert, kannst Du ihm ja mal das: <../../sfarchiv/1999_4/t08508.htm#a43179> unter die Nase halten. ;-)

        Äh.. das Posting war irgendwie ziemlich contra Netscape,
        zumindest versteh ichs so... also wo ist der Witz an der
        Sache wenn du es hier als pro Netscape Argument verkaufts ?

        gruss
        Jens

        1. Tag Jens!

          <../../sfarchiv/1999_4/t08508.htm#a43179>

          Äh.. das Posting war irgendwie ziemlich contra Netscape,
          zumindest versteh ichs so... also wo ist der Witz an der
          Sache wenn du es hier als pro Netscape Argument verkaufts ?

          Ich hab nicht behauptet, dass es pro Netscape ist; allerdings ist es fuer meinen Geschmack auch nicht contra, sondern eher eine nuechterne Feststellung von Tatsachen. Und der "Witz" ist einfach das Gegenargument zu dem oft gebrachten Vorwurf, dass Netscape nicht richtig CSS kann. Nun, er kann es de facto *ueberhaupt nicht*, und wer sich damit nicht abfinden will, der soll halt hinterher nicht rumheulen. Ich denke aber, wenn man sich ein bisschen Muehe gibt, kriegt man auch mit Netscape einige ganz brauchbare Sachen hin.

          Calocybe

    2. Hallo Daniel!

      Zum Link von Roland darf ich dir eine weitere Lektüre empfehlen:

      http:/selfhtml/sfarchiv/1999_2/t04173.htm#a20213

      Grüße
      Thomas