artes: Wie krieg ich IE und Opera unter einen Hut?

Hallo,

Ich hab noch mal ne Frage, die für Euch wahrscheinlich ganz simpel, ich aber in selfhtml nicht finden kann:

Wenn ich einen table relativ ausrichte <style="position:relative; blabla">, dann richten sich normalerweise alle darunter liegenden Elemente relativ an ihm aus, ohne dass ich nochmal Anweisung geben muß. So macht es der IE.

Nicht so Opera.
Opera richtet das unter dem table liegende Element (z. B. table) am oberen Browserrand aus, wobei sich die beiden Tabellen überschneiden.

Jetzt kann ich das so deichseln, dass alles unter Opera richtig angezeigt wird, dann sind die Abstände beim IE aber viel zu groß.

Mir erscheint das Verhalten von IE irgendwie logischer.
Außerdem finde ich es gut, dass der IE gutmütig reagiert, wenn man sich mal verschrieben hat, z. B. offenes Tag oder so.

Grüße.

  1. Zusatzfrage:

    Ich habe eine html-Seite, auf der sich zwei iframes befinden.

    Nun möchte ich von dem einen (linken) iframe ein link ins rechte iframe erstellen. Bei IE funtkioniert das auch, solange die Anweisung target="name" überein stimmt.

    Opera öffnet die Seite in einem neuen Fenster.
    Da gibt's wohl keine Abhilfe?

    1. hi!

      öhm versuchs vieleicht mal mit javascript (im sinne von 2 frames gleichzeitig ändern...)

      viele grüße,
      benni

  2. Wenn ich einen table relativ ausrichte

    "Eine Tabelle" oder "ein table-Element/-Objekt". Danke :)

    <style="position:relative; blabla">, dann richten sich normalerweise alle darunter liegenden Elemente relativ an ihm aus, ohne dass ich nochmal Anweisung geben muß. So macht es der IE.

    Ein per position:relative positioniertes Element nimmt aus Sicht aller umliegenden Elemente exakt die Position und Größe ein, die es im normalen Elementfluß gehabt hätte. Dabei kann es ohne weiteres zu Überschneidungen kommen.

    Du hast leider die betreffende Seite nicht angegeben, so daß das Verhalten der beiden Browser für niemanden außer Dir im Detail nachvollziehbar ist.

    Mir erscheint das Verhalten von IE irgendwie logischer.

    Logisch hin oder her, was position:relative zu tun und zu lassen hat, steht in http://www.w3.org/TR/REC-CSS2/visuren.html#choose-position.

    Außerdem finde ich es gut, dass der IE gutmütig reagiert, wenn man sich mal verschrieben hat, z. B. offenes Tag oder so.

    Aha. Und wie bemerkst Du dann, daß Du Dich verschrieben hast? In dem Du nach jeder kleinen Änderung zusätzlich zur optischen Prüfung im Browser noch den Validator drüberlaufen lässt? Erscheint mir etwas umständlich, aber naja :)

    Gruß,
      soenk.e

    1. Hallo,
      Danke.

      "Eine Tabelle" oder "ein table-Element/-Objekt". Danke :)

      Ein Table Element

      Ein per position:relative positioniertes Element nimmt aus Sicht aller umliegenden Elemente exakt die Position und Größe ein, die es im normalen Elementfluß gehabt hätte. Dabei kann es ohne weiteres zu Überschneidungen kommen.

      Und wie kann ich das Problem lösen?

      Du hast leider die betreffende Seite nicht angegeben, so daß das Verhalten der beiden Browser für niemanden außer Dir im Detail nachvollziehbar ist.

      http://www.kreismusikschule-cloppenburg.de/firstsite.htm

      Und wie bemerkst Du dann, daß Du Dich verschrieben hast? In dem Du nach jeder kleinen Änderung zusätzlich zur optischen Prüfung im Browser noch den Validator drüberlaufen lässt? Erscheint mir etwas umständlich, aber naja :)

      Ok, ok, überzeugt.
      ;-)

      1. Ein per position:relative positioniertes Element nimmt aus Sicht aller umliegenden Elemente exakt die Position und Größe ein, die es im normalen Elementfluß gehabt hätte. Dabei kann es ohne weiteres zu Überschneidungen kommen.

        Und wie kann ich das Problem lösen?

        Soweit ich das überblicke, willst Du oben, über der "Wir freuen uns"-Überschrift eine 100 Pixel breite Fläche haben? Wenn Du da noch was reinhaben willst, dann mach dieses zusätzliche Element 100 Pixel groß, um den optischen und den logischen Elementfluß beisammen zu halten.
        Geht das nicht, oder soll die Fläche tatsächlich frei bleiben, verpasse der Überschrift einfach einen oberen Außenrand (margin-top) von 100 Pixeln. Dann sitzt die Überschrift dort, wo sie jetzt sitzt, und alle nachfolgenden Elemente orientieren sich auch an dieser Position.

        Noch zweieinhalb Tipps:

        Die Sache mit der Klaviatur ist eine nette Idee; verwende ebenfalls die Außenrahmengeschichte, um den nötigen Abstand zu schaffen.

        Die Überschriften beginnen in einem Dokument immer bei <h1>, nicht bei <h4>. Du kannst Schriftart und -größe der Überschriften mit CSS wunderbar anpassen.

        Mit Ausnahme der Tabelle mit den Vorsitzenden kannst Du sämtliche Tabellen rauswerfen. Insbesondere diejenige, die die "Wir freuen uns"-Überschrift umgibt, ist fehl am Platze. Formatiere gleich das <h4>-Element (und mache daraus ein <h1>) bzw. die <p>-Blöcke.

        Die <h3>-Elemente in der Vorsitzendentabelle sind etwas deplaziert. Verwende besser <th> (statt <td>), damit wird ebenfalls eine Überschrift gekennzeichnet, und zwar eine Tabellenzelle mit Überschrift - also genau das richtige.

        Verpasse dem Dokument unbedingt einen strict-Kopf, um die Browser in den Standardmodus zu schalten und somit verlässliche Ergebnisse zu erhalten (siehe http://www.hut.fi/~hsivonen/doctype.html). In Sachen IE: Teste mit dem IE 6, nicht mit dem IE 5!

        Es sind noch ein paar winzige Tippfehler im Text ("formular", "druch", "stellvertr.Direktor").

        Gruß,
          soenk.e