Uschi Renziehausen: CSS-Weiche: nur für Opera (7) erkennbar

Hallo ihr Lieben,

Ich muß ein Seitchen in reinem HTML machen, also nix serverseitige Logik. Und ich habe ein CSS-Problemchen (kommt ja vor im Leben).
IE 5.0, 5.5 und 6 sowie Mozilla 1.4 stellen alles richtig dar, wobei die IEs teilweise mit conditional comments bedient werden. Opera 7 hingegen will an einer Stelle nicht so wie ich das will. Nun tät ich eine Browserweiche brauchen, die Mozi nicht versteht, Opera hingegen sehr wohl.
Doctype ist XHTML 1.0 Transitional.
Kann mir jemand auf die Sprünge helfen, bitte?

Grüße, Uschi

  1. Hi,

    schließt reines HTML auch Javascript aus? Die einzige Möglichkeit sehe ich durch eine Abfrage Opera7-Spezifischer Objekte wie z.b. window.opera (Opera) in Verbindung mit innerHTML (Opera >= 7)

    MfG
    Danny

    1. Hallo,

      wenn wirklich nix anderes geht, dann halt via JS, aber eben nicht so gerne.

      Thx, Uschi

      1. Es wird wohl nix anderes gehen, auch nicht serverseitig. Serverseitig müsstest Du die Browser-Kennung abfragen und das ist noch unsicherer, weil gerade Opera hier frei konfigurierbar ist... Die beste Lösung wäre eine Bekämpfung der Ursache, d.h. das Du erst gar keine Weiche brauchst... Wo ist denn genau das Problem?

        1. Hallo Dany,

          das Ursprungsproblem ist gelöst (ohne Browserweiche), nur gibt es noch ein zweites. Wenn du magst, dann guck doch mal oben unter float (Themawechsel). Vielen Dank jedenfalls erstmal für deine Mühe,

          Uschi

  2. Hallo Uschi,

    IE 5.0, 5.5 und 6 sowie Mozilla 1.4 stellen alles richtig dar, wobei die IEs teilweise mit conditional comments bedient werden. Opera 7 hingegen will an einer Stelle nicht so wie ich das will. Nun tät ich eine Browserweiche brauchen, die Mozi nicht versteht, Opera hingegen sehr wohl.

    ist das nicht die falsche Stelle? Wenn's im Mozilla klappt sollte es doch möglich sein - auch ohne Browserweiche - im Opera das gleiche Ergebnis zu bekommen. Vielleicht können wir dir ja an dieser Stelle helfen? Und was ist mit dem 6er Opera?

    Grüße,

    Jochen

    1. Hallo Dany und Jochen,

      das Problem hat sich mittlerweile gelöst, ich brauch die Weiche zumindest an der Stelle nicht mehr. Das konkrete Problem war ein Box-Model-Konflikt, weil ich für meine Menubar die a-Elemente auf display:block gesetzt und ihnen dann auch noch eine height verpaßt habe, statt line-height. line-height reicht aber völlig aus, und dann können Mozi und Opera mit derselben css leben.

      Aber es gibt noch ein anderes Problem, das im Moment noch auf reichlich unelegante Art gelöst ist, und das heißt "float". Die Menüleiste insgesamt soll sich rechts ausrichten und steht in einem td.
      Eigentlich hätte ich gerne so etwas gehabt:
      a.menuitem.link {
       display: block;
       float: left;
       ...
      }
      <td style="text-align: right">
      <a class="menuitem" href="index.html">Home</a> <a class="menuitem" href="leistungen.html">Leistungen</a> ....
      </td>

      Dummerweise bewirkt die Angabe float: left aber auch ein text-align: left. Nun habe ich erstmal für quick & dirty eine Tabelle in der Tabelle gebaut und das float: left gekillt. Zufrieden bin ich mit der Lösung nicht. float: right erzeugt zwar die richtige Optik, aber dann müßte ich die Reihenfolge umtauschen, und das will ich auch nicht. Fällt euch dazu was ein?

      Gruß, Uschi

      1. Hallo,

        Aber es gibt noch ein anderes Problem, das im Moment noch auf reichlich unelegante Art gelöst ist, und das heißt "float". Die Menüleiste insgesamt soll sich rechts ausrichten und steht in einem td.

        Warum packst Du sie dann nicht in einen <p> und floatest
        diesen nach rechts?
        <td><p><a ...>bla</a><a ...>fasel</a></p></td>

        Die "logische" Auszeichnung einer Navi-Leiste ist uebrigens
        meistens mit <ul>, ggf. verschachtelt, zu empfehlen.
        Das Layout kann man dann immer noch beliebig festlegen.
        http://www.alistapart.com/articles/taminglists/
        (Auch den Kruemelpfad als verschachtelte UL darzustellen,
        finde ich dagegen ziemlich uebertrieben, aber was soll's...)

        Mach bitte mal eine ASCII-Zeichnung, wie es aussehen soll.
        Ich verstehe nicht, was wo ausgerichtet sein soll,
        und wozu das display:block gut sein soll.
        Meinst Du so etwas?
               Home |
         Leistungen |

        a.menuitem.link {

        ^^^
        Wohl ein Tippfehler?

        Zufrieden bin ich mit der Lösung nicht. float: right erzeugt zwar die richtige Optik, aber dann müßte ich die Reihenfolge umtauschen, und das will ich auch nicht.

        Von was muesstest Du die Reihenfolge tauschen?

        Gruesse,

        Thomas
          heute etwas begriffsstutzig

      2. Hi Uschi,

        Dummerweise bewirkt die Angabe float: left aber auch ein text-align: left.

        lässt sich das nicht überschreiben?

        Nun habe ich erstmal für quick & dirty eine Tabelle in der Tabelle gebaut

        *Grmpf* :-)

        Zu deinem Opera-Problem:

        #test            { /* für alle */        }
         html[lang] #test { /* nur für Opera */   }
         html:root #test  { /* nur für Mozilla */ }

        Oder du verwendest den hier beschriebenen Selektor:

        http://centricle.com/ref/css/filters/tests/star-7/

        Da steigen fast alle Operas aus.

        Grüße,
         Roland

        --
        Liebt und ihr werdet geliebt werden! - Orlando 22.4
        http://cafeshops.com/operastuff.7612287
        (i.V. Götz)
        1. Moin Orlando,

          danke für den Opera-Tip, damit werde ich für alle Fälle mal spielen.

          Hi Uschi,

          Dummerweise bewirkt die Angabe float: left aber auch ein text-align: left.

          lässt sich das nicht überschreiben?

          Offenbar nicht, oder ich mache prinzipiell was falsch. Ich stell demnächst mal ein paar meiner Lieblingsprobleme als Beispiel online.

          Nun habe ich erstmal für quick & dirty eine Tabelle in der Tabelle gebaut

          Naja, ist halt mal wieder das richtige Leben, muss fertig werden.

          Liebe Grüße, Uschi

  3. hi,

    auch wenn das ursprüngliche problem mittlerweile gelöst ist, hier noch ein link zu einem "hack", mit dem man css vor dem opera (5-7) verstecken können soll:
    http://diveintomark.org/safari/csshacks/star7.html

    allerdings scheine mir persönlich die nachteile den nutzen zu überwiegen - nicht valide css-syntax, den win-IE < 5.5 trifft es ebenfalls.

    gruss,
    wahsaga