Sven Rautenberg: conditional comments für Opera?

Beitrag lesen

Moin!

Die korrekte und wegen des IE6 leider notwendige Vorgehensweise ist, allen Arten von Input-Elementen oder einem geeigneten Elternelement davon (z.B. einem umschließenden <label>) eine differenzierende Klasse zuzuweisen

Das ist prinzipiell richtig. Dann muß ich leider nachschieben, daß meine CSS nicht "direkt" irgendwo eingebunden wird, sondern über ein hochkomplexes CMS mit ein paar tausend Templates dynamischen Seiten zur Verfügung stehen soll. Das bedeutet in diesem Fall leider auch, daß ich für solche Elemente keine Klassen vergeben kann, es sei denn, ich schreibe auch noch etliche hundert Templates (Java) neu.

Du wirst ja aber offensichtlich irgendwo ein CSS haben, in dem drinsteht:

  
input { width:100px; }  

Was hindert dich, an genau dieser Stelle nachzuschieben:

  
input[type=hidden] { display:none; }  

Fertig ist der Lack in "fähigen" Browsern - nämlich allen Operas und Firefoxes und sonstigen Browsern mit Ausnahme des IE6 - der aber dankenswerter Weise hidden-Inputs sowieso nicht darstellt.

Dein Problem ist übrigens nicht nur der Opera. Auch der Firefox hat die Eigenschaft, hidden-Inputs formatierbar zu haben.

Formatierbar ja - aber wenn ich sie unformatiert lasse, weist er ihnen auch keinen Platz zu, Opera tut das dagegen.

Wenn du eine Breite zuweist, ist das Formatierung, kein "unformatiert lassen".

Dabei sind diese "hidden"-inputs nur _ein_ Beispiel. Es gibt auch noch andere Stellen, an denen sich Opera und Firefox unterscheiden, beispielsweise bei relativ positionierten Elementen. "Mein Problem" ist, daß ich beide (Opera und Firefox) bisher für einigermaßen "standardkonform" gehalten habe, ohne immer und bei jedem Fitzelchen genau nachzuschauen, was denn jetzt eigentlich "Standard" ist. Mir ist es bloß bei der Arbeit begegnet, daß Opera einige wenige Sachen exakt so zu interpretieren scheint wie der IE, und Firefox nicht.

Der Opera nimmt sich die Freiheit, den IE wegen der überaus großen Verbreitung von Webseiten, die nur diesen Browser im Kopf hatten, ein wenig nachzuahmen. Außerdem wirkt unter Umständen noch ein sitespezifisches browser.js, welches typische Fehlprogrammierungen korrigiert. Das zeigt die Javascript-Konsole aber an.

Der Firefox hingegen hat insgesamt drei Anzeigemodi, in denen er sich jeweils unterschiedlich standardkonform verhält. Welchen hast du da gewählt?

Vorerst scheint das, was Stahli angegeben hat, die praktikabelste Lösung darzustellen.

Eine Lösung, die an Ekligkeit nicht zu überbieten ist - das ist meine persönliche Meinung. Und ich halte sie auch für überflüssig.

- Sven Rautenberg

--
"Love your nation - respect the others."