Christoph Schnauß: conditional comments für Opera?

hallo Forum,

ich habe mir, wie vermutlich viele andere auch, angewöhnt, für den IE conditional comments beim Einbinden einer zentralen CSS zu schreiben. Schematisch sieht das so aus:
<link rel="stylesheet" type="text/css" href="projekt.css">
<!--[if gte IE 6]><link rel="stylesheet" type="text/css" href="projekt-ie6.css" /><![endif]-->
<!--[if gt IE 6]><link rel="stylesheet" href="projekt-ie7.css" type="text/css" /><![endif]-->
Im allgemeinen genügt das, um IE6/IE7 und Firefox/Safari/Opera zu differenzieren.

In jüngerer Zeit macht mir allerdings Opera etwas Sorgen (Opera 9.23). Beispielsweise habe ich in einem Formular sowas:
<input type="hidden" name="mode" value="simple" />
<input type="hidden" name="beanId" value="2146" />
<input type="hidden" name="pageId" value="148" />
<input type="hidden" name="category" value="" />
Da sie "hidden" sind, sollte zu erwarten sein, daß sie eben nicht angezeigt werden - tun sie auch nicht. Nur: der Platz, den sie belegen, wird von Opera trotzdem freigehalten, von allen anderen nicht. Da ich für "input" eine Breitenangabe definieren muß, zeigt Opera also ein exakt in dieser Breite gehaltenes "Loch".
Ich müßte die nachfolgenden Elemente also mit einem negativen "margin"-Wert versehen - nicht besonders elegant, aber manchmal erforderlich. Nur: das macht dann wieder weder im Firefox noch im IE und anderen Browsern Sinn.

Ich wüßte eigentlich gern, ob ich mit irgendeiner ähnlichen Konstruktion wie für den IE auch für Opera eine "Korrektur-CSS" in Form eines conditional comment einfügen kann. Probiert habe ich natürlich, aber so, wie es mit dem IE wie angegeben ganz gut funktioniert, geht es für Opera nun einmal nicht.
Die Frage ist: geht es gar nicht, oder geht es auf irgendeinem Weg, den ich bisher entweder nicht probiert, nicht gefunden, übershen oder vergessen habe?
Und wenn es gar nicht geht - wie geht es dann trotzdem?

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|
  1. Hallo,

    Und wenn es gar nicht geht - wie geht es dann trotzdem?

    ganz blöde Idee, aber warum fragst du den Browser zur Not nicht per PHP ab? Nicht schön, aber selten ;)
    Die Versionsangabe könnte da vielleicht Probleme machen.

    Grüße, Matze

    1. Hi,

      ganz blöde Idee, aber warum fragst du den Browser zur Not nicht per PHP ab? Nicht schön, aber selten ;)

      PHP beherrscht i.A. (natürlich) nur die dümmste aller möglichen Browserabfragen: Die Analyse des willkürlichen User-Agent-Strings.

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Hallo,

        PHP beherrscht i.A. (natürlich) nur die dümmste aller möglichen Browserabfragen: Die Analyse des willkürlichen User-Agent-Strings.

        sicher, aber was könnte denn im schlimmsten Fall passieren?
        Jemand mit einem gefälschten User-Agent-String hat nichts von den Styles die für Opera bestimmt sind. So tragisch ist das nicht.
        Die anderen genannten Lösungen sind natürlich sinnvoller.

        Grüße, Matze

        1. Hi,

          Die anderen genannten Lösungen sind natürlich sinnvoller.

          Eben. ;)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Moin Moin!

        PHP beherrscht i.A. (natürlich) nur die dümmste aller möglichen Browserabfragen: Die Analyse des willkürlichen User-Agent-Strings.

        Und unterliegt damit den Beschränkungen *ALLER* serverseitigen Browsererkennungsversuchen. Sprich: ASP, JSP, Perl & Co. können es auch nicht besser. Außer dem USER_AGENT-Header gibt es nur noch die Möglichkeit, clientseitig irgendetwas zu ermitteln und diese Information irgendwie zum Server zu schaffen. Dann ist es für die zuerst geladene Seite aber schon zu spät.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Hi,

          Und unterliegt damit den Beschränkungen *ALLER* serverseitigen Browsererkennungsversuchen.

          Darauf bezog sich das "(natürlich)". :)

          Außer dem USER_AGENT-Header gibt es nur noch die Möglichkeit, clientseitig irgendetwas zu ermitteln

          Darauf bezog sich das "i.A.". :)) Es gibt aber auch Clients (nämlich so einige mobile Clients), die sich auch jenseits des UA-Headers mitteilen.

          und diese Information irgendwie zum Server zu schaffen. Dann ist es für die zuerst geladene Seite aber schon zu spät.

          Nicht notwendigerweise.

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. Hi,

    Ich wüßte eigentlich gern, ob ich mit irgendeiner ähnlichen Konstruktion wie für den IE auch für Opera eine "Korrektur-CSS" in Form eines conditional comment einfügen kann.

    Das geht afaik so:

    <link rel="stylesheet" type="text/x-opera-css" href="opera.css" />

    Gruß,
    Felix

    1. hallo,

      Das geht afaik so:
      <link rel="stylesheet" type="text/x-opera-css" href="opera.css" />

      Ah, danke, das scheint eine Möglichkeit zu sein, hat jedenfalls erstmal mit einem Test-Schnellschuß funktioniert.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
  3. Hallo Christoph Schnauß,

    Du könntest allen Input-Elementen, die nicht vom Typ hidden sind, eine Classe zuweisen, sodass Deine Breitenangabe nicht bekannt ist. Ansonsten ginge vll auch, das Du in der CSS direkt die hidden Felder ansprichst und sie mit display: none; oder einer 0 Breite versiehst. Das sollte Opera ja bereits können. Zu letzteren fällt mir gerade die Syntax nicht ein [type=hidden] oder so ähnlich - Du weißt sicher was ich mein ;-)

    Mit freundlichem Gruß
    Micha

  4. Moin Moin!

    Ich hab gerade mal versucht, das nachzuvollziehen:

      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
    <head>  
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
    <title>Opera Hidden Test</title>  
    <style type="text/css">  
    input { display:inline; border:2px solid red; width:400px; }  
    form { border: 2px solid green; }  
    </style>  
    </head>  
    <body>  
    <form action="" method="get" name="test1">  
    <input type="text" name="text1" value="text1">  
    <input type="hidden" name="hidden1" value="hidden1">  
    <input type="hidden" name="hidden2" value="hidden2">  
    <input type="hidden" name="hidden3" value="hidden3">  
    <input type="hidden" name="hidden4" value="hidden4">  
    <input type="hidden" name="hidden5" value="hidden5">  
    <input type="hidden" name="hidden6" value="hidden6">  
    <input type="text" name="text2" value="text2">  
    </form>  
    <form action="" method="get" name="test2">  
    <input type="text" name="text1" value="text1">  
    <input type="text" name="text2" value="text2">  
    <input type="hidden" name="hidden1" value="hidden1">  
    <input type="hidden" name="hidden2" value="hidden2">  
    <input type="hidden" name="hidden3" value="hidden3">  
    <input type="hidden" name="hidden4" value="hidden4">  
    <input type="hidden" name="hidden5" value="hidden5">  
    <input type="hidden" name="hidden6" value="hidden6">  
    </form>  
    </body>  
    </html>  
    
    

    Und was soll ich sagen: Mein Opera (9.24) zeigt die Hidden-Felder gar nicht, trotz der CSS-Versuche. Im IE 6.0 erzeugen die Hidden-Felder mit meinem kruden CSS eine Lücke, im Firefox 2.0.11 haben die Felder sogar einen roten Rahmen. Aber definitiv nicht im Opera, weder Lücken noch Rahmen.

    Kann es sein, dass Du mit Deinem CSS den Opera in den Wahnsinn treibst?

    (Was macht Opera in der IE-Emulation eigentlich mit Conditional Comments? Ignorieren oder IE simulieren?)

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  5. Moin!

    In jüngerer Zeit macht mir allerdings Opera etwas Sorgen (Opera 9.23). Beispielsweise habe ich in einem Formular sowas:
    <input type="hidden" name="mode" value="simple" />
    <input type="hidden" name="beanId" value="2146" />
    <input type="hidden" name="pageId" value="148" />
    <input type="hidden" name="category" value="" />
    Da sie "hidden" sind, sollte zu erwarten sein, daß sie eben nicht angezeigt werden - tun sie auch nicht. Nur: der Platz, den sie belegen, wird von Opera trotzdem freigehalten, von allen anderen nicht. Da ich für "input" eine Breitenangabe definieren muß, zeigt Opera also ein exakt in dieser Breite gehaltenes "Loch".

    Input-Elemente vom Typ "hidden" sind dennoch ganz normale Input-Elemente, die man formatieren kann. Man könnte grundsätzlich auch deren Inhalt sichtbar machen (mit CSS :before bzw. :after und content() würde das z.B. gehen).

    Dein Irrtum ist, dass diese Elemente unter allen Umständen unsichtbar wären.

    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, und diese dann zu formatieren. Auf diese Weise lassen sich versteckte Input-Elemente unformatiert (d.h. mit dem Browser-Standardstylesheet formatiert) lassen.

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

    Selbst <head> läßt sich sichtbar und formatierbar machen!

    Die Frage ist: geht es gar nicht, oder geht es auf irgendeinem Weg, den ich bisher entweder nicht probiert, nicht gefunden, übershen oder vergessen habe?

    Die Antwort ist: Formatiere nur die Elemente, die du wirklich formatieren willst. Ich halte es für absurd, jetzt wieder in den "Browserkrieg" einzusteigen und für alle möglichen Sonderfälle von Browsern eigene Stylesheets einzusetzen. Das widerspricht ja absolut der Idee, dass es mit CSS ja gerade möglich ist, browserübergreifend standardisierte Formatierungen anzuwenden (leider mit der Ausnahme der IEs, die zu CSS noch nicht ausreichend kompatibel sind, aber dummerweise eine zu hohe Marktverbreitung haben, um sie ignorieren zu können).

    Meine Devise: Ein Stylesheet für alle, und eines für Reparaturen, damit der IE6 auch was hinkriegt, sofern nötig. Alles andere ist Blödsinn.

    Insbesondere könntest du grundsätzlich (das muß ja nicht auf Opera beschränkt sein) den input-Feldern vom Typ hidden ein display:none verpassen, wenn es gar nicht anders realisierbar ist. Dabei aber die Kaskade und Spezifität der Selektoren beachten.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hi,

      Selbst <head> läßt sich sichtbar und formatierbar machen!

      Beispiel: http://temp.andreas-waechter.de/headtest.html

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Moin Moin!

        Selbst <head> läßt sich sichtbar und formatierbar machen!

        Beispiel: http://temp.andreas-waechter.de/headtest.html

        Cool!

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    2. hallo Sven,

      Input-Elemente vom Typ "hidden" sind dennoch ganz normale Input-Elemente, die man formatieren kann.

      Das ist mir - und hoffentlich der übergroßen Anzahl der Forumsbesucher - klar.

      Man könnte grundsätzlich auch deren Inhalt sichtbar machen (mit CSS :before bzw. :after und content() würde das z.B. gehen).

      Jaein. mit :before bzw. :after gehts im IE (auch IE7) nicht.

      Dein Irrtum ist, dass diese Elemente unter allen Umständen unsichtbar wären.

      Das ist kein Irrtum, sondern eine Voraussetzung, die ich gerne haben möchte.

      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.

      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.

      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.

      Ich werde das in den nächsten Tagen mal systematisch durchtesten (bisher bin ich ja bloß bei ein paar eher zufälligen Geschichten drüber gestolpert), und wenn sich dabei etwas Reproduzierbares ergibt, kriegt ihr einen neuen Artikel zu diesem Thema.

      Selbst <head> läßt sich sichtbar und formatierbar machen!

      War mir durchaus bekannt, ist aber sicher für manchen anderen neu.

      Ich halte es für absurd, jetzt wieder in den "Browserkrieg" einzusteigen und für alle möglichen Sonderfälle von Browsern eigene Stylesheets einzusetzen

      Ups. Ich habe durchaus nicht die Absicht, den "Browserkrieg" neu zu entfachen, allerdings glaube ich, daß er nie vorbei war; wir haben uns bloß an bestimmte Strategien gewöhnt und sind damit in aller Regel sehr gut gefahren in den letzten Jahren. Ich kann bloß leider nicht übersehen, daß die "Browser" eben doch an einigen Stellen irgendwas anders machen resp. unterschiedlich verstehen. Und ich war sehr lange davon ausgegangen, daß die CSS-Implementation in Opera ungefähr dieselbe "Standardkonformität" hätte wie die CSS-Implementation in Firefox. Es scheint nun Fälle zu geben (wenige), bei denen diese Voraussetzung nicht stimmt.

      Das widerspricht ja absolut der Idee, dass es mit CSS ja gerade möglich ist, browserübergreifend standardisierte Formatierungen anzuwenden

      Eben. Und gerade deswegen hielt ich eine solche Nachfrage hier im Forum für gerechtfertigt.

      Meine Devise: Ein Stylesheet für alle, und eines für Reparaturen

      Das ist nicht nur deine, sondern vermutlich längst eine allgemeine Devise.

      damit der IE6 auch was hinkriegt

      Und diese Einschätzung, daß es nur darum geht, dem doofen IE6 auch was beizubringen (die ich sehr lange Zeit geteilt habe), muß ich leider neuerdings für nicht ausreichend halten.

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

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Das bedeutet in diesem Fall leider auch, daß ich für solche Elemente keine Klassen vergeben kann

        Es bleibt dir noch ein display: none als Inline-Style zur Auswahl.

        Viele Grüße!
        _ds

        --
        » Mit knapp 30 einen Song der Rolling Stones für sich entdecken.. so müssen Kinder sich fühlen, wenn sie zum ersten Mal Harry Potter lesen.«
        - kommirnichmitkation
      2. Hi,

        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.

        Nach eigener Aussage _hast_ du sie doch aber nicht unformatiert gelassen:

        Da ich für "input" eine Breitenangabe definieren muß, zeigt Opera also ein exakt in dieser Breite gehaltenes "Loch".

        Du hast also input allgemein eine width-Angabe verpasst?
        Dann hat der FF wohl in seinem internen Stylesheet einen staerkeren Selektor, input[type=hidden] o.ae. vorliegen, der hidden-Felder trotzdem noch versteckt laesst - und Opera nicht. Zu "Standardkonformitaet" sehe ich da aber wenig Zusammenhang - klar, das Verhalten mag im konkreten Fall unerwuenscht bis laestig sein, falsch aber wohl eher nicht.

        MfG ChrisB

      3. 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."
        1. hallo Sven,

          Was hindert dich, an genau dieser Stelle nachzuschieben:

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

            
          Nichts - bis auf die Tatsache, daß "es" nicht zuverlässig "funktioniert" \*g\*. Außerdem habe ich bereits angegeben, daß die Geschichte mit den "hidden"-Dingern nicht den einzigen Unterschied der Browserinterpretationen darstellt.  
            
          
          > Außerdem wirkt unter Umständen noch ein sitespezifisches browser.js, welches typische Fehlprogrammierungen korrigiert. Das zeigt die Javascript-Konsole aber an.  
            
          Das zeigt sie an, wenn es tatsächlich daran liegt - und wenn Javascript erlaubt ist. Das Erlauben/Verbieten ist im Opera ein einziger Mausklick unter "Schnelleinstellungen", sehr leicht zu finden und auf Wirksamkeit zu testen.  
            
          
          > Der Firefox hingegen hat insgesamt drei Anzeigemodi, in denen er sich jeweils unterschiedlich standardkonform verhält. Welchen hast du da gewählt?  
            
          Alle drei der Reihe nach, und alle drei "funzen". Außerdem ist Firefox nicht mein Problem, sondern Opera.  
            
          
          > > Vorerst scheint das, was [Stahli](https://forum.selfhtml.org/?t=162993&m=1061003) angegeben hat, die praktikabelste Lösung darzustellen.  
          > Eine Lösung, die an Ekligkeit nicht zu überbieten ist  
            
          och komm ... wenn du wirklich "eklige" Sachen nachlesen willst, schaust du einfach ins Forumsarchiv. \_So\_ schlimm ist dieser Vorschlag nun auch nicht. An meinem eigenen Opera kann ich herummanipulieren und kriege es auch irgendwie hin - aber der Krempel, für den ich die CSS baue, muß voraussetzen dürfen, daß vielleicht 0,5 Prozent der künftigen "Seitenbesucher" eben \_ihren\_ Opera nehmen - eigentlich sogar mehr, da es eine PDA-"Übersetzung" geben soll. Und ich kann nun wirklich nicht voraussetzen oder gar vorschreiben, daß ein theoretischer Operabesucher an seinem Browser resp. dessen Einstellungen so herumfummelt wie ich. Ich muß im Gegenteil davon ausgehen, daß er ihn so benutzt, wie er ihn heruntergeladen und installiert hat. Im übrigen habe ich geschrieben, daß die von Stahli vorgeschlagene Lösung praktikabel \_scheint\_ - meinst du denn, ich übernehme einen Rat völlig ungeprüft? Vorerst passiert, wenn ich das so wie vorgeschlagen mache, auch das, was ich haben will. Sehr schön - aber wenn sowas plötzlich "funktioniert", werde ich natürlich sofort wieder mißtrauisch und prüfe nach, was das denn eigentlich ist.  
            
          Aber vielleicht erklärst du der staunenden Forumsgemeinde noch, was du hier so "eklig" findest.  
            
          
          > das ist meine persönliche Meinung. Und ich halte sie auch für überflüssig.  
            
          Es ist so ein Ding, wenn man ein posting zum Zitieren zerschneidet. So, wie ich es hier gemacht habe (sogar ohne den originalen Wortlaut zu zerstören) kommt heraus, daß du deine persönliche Meinung für überflüssig hältst \*g\*  
            
            
          Grüße aus Berlin  
            
          Christoph S.
          
          -- 
          [Visitenkarte](http://community.de.selfhtml.org/visitenkarten/view.php?key=26)  
            
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          
          1. Hi,

            och komm ... wenn du wirklich "eklige" Sachen nachlesen willst, schaust du einfach ins Forumsarchiv.

            Oder in eine beliebige der ziemlich zahlreichen "CSS-Hacks"-Seiten im sonstigen Web.

            Anscheinend ist ja wohl Bedarf dafür vorhanden - über deren wahren Gründe und Notwendigkeiten sich natürlich trefflich streiten läßt.

            Aber vielleicht erklärst du der staunenden Forumsgemeinde noch, was du hier so "eklig" findest.

            In einer utopischen Welt sind alle Browser (OK: bis auf den IE ;->) absolut standardkonform und die Programmierer sind auch alle der gleichen Meinung, was die Interpretation der div. Standards angeht. Darauf vorgreifend sind jegliche Browserweichen überflüssig - schließlich torpedieren sie die Utopie! Und: wenn alle gleich standardkonform sind, können die ganzen Hacks sowieso nicht mehr funktionieren.

            Aber wie meinte doch einst Helmut Schmidt: Wer Visionen hat, sollte zum Arzt gehen. ;->

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      4. 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 heißt die Struktur im CMS ist schon wenig brauchbar?

        Auf die entscheidenen Fragen zu deinem Problem bist du ja nicht eingegangen, z.b. ob du input { width:...; } im CSS Code stehen hast und warum du mit input[type=hidden] { display:none} die Elemente nicht einfach unsichtbar machst?

        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.

        Kann ich nicht nachvollziehen, welche Version hast du denn? Meine 9.10 weist versteckten Feldern keinen Platz zu.

        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.

        Was mich erstaunt, dass du als jemand der schon jahrelang hier mitliest und sich beteiligt, mit genau dem gleichen Mist kommst wie viele, über die du normalerweise herziehst. Hier ist eine pauschale Behauptung von dir, die du gleich mit einer abwertenden Schlußfolgerung garnierst und das alles ohne auch nur einen Ansatz eines Beweises oder wenigstens einer Quelle.

        Ich kann deine Behauptung nicht verfizieren, egal in wlechem Browser ich ein Element relativ positioniere, es sieht im FF, OP und IE weitestgehend gleich aus. Das heißt bei dir kommen Rahmenbedingungen zum tragen die wir nicht kennen - vielleicht machst du da ja etwas falsch?
        Ich zumindest gehe bei einer unerwarteten Darstellung immer erstmal von einem eigenen Fehler aus.

        Ich werde das in den nächsten Tagen mal systematisch durchtesten (bisher bin ich ja bloß bei ein paar eher zufälligen Geschichten drüber gestolpert), und wenn sich dabei etwas Reproduzierbares ergibt, kriegt ihr einen neuen Artikel zu diesem Thema.

        Ja, das würd mich interessieren.

        Das widerspricht ja absolut der Idee, dass es mit CSS ja gerade möglich ist, browserübergreifend standardisierte Formatierungen anzuwenden

        Ist es auch weitestgehend. Ich hab bisher noch nie ein Browsereigenes Stylesheet verwendet und nur ganz selten mal einen Hack für einen IE Bug.

        Struppi.

        1. Hi,

          Ist es auch weitestgehend. Ich hab bisher noch nie ein Browsereigenes Stylesheet verwendet und nur ganz selten mal einen Hack für einen IE Bug.

          Geht mir allermeistens auch so.

          Aber ich hatte auch schon mal einen (INPUT-)Fall, wo der Opera (ein wenig) anders reagierte, als der Rest der Welt. Ich habe dann auch neben dem IE- noch eine Opera-"Sonderbehandlung" durchgeführt, auch wenn es nur ein kleiner optischer (dynamischer) Effekt war ...

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  6. Grütze .. äh ... Grüße!

    Da sie "hidden" sind, sollte zu erwarten sein, daß sie eben nicht angezeigt werden - tun sie auch nicht. Nur: der Platz, den sie belegen, wird von Opera trotzdem freigehalten, von allen anderen nicht. Da ich für "input" eine Breitenangabe definieren muß, zeigt Opera also ein exakt in dieser Breite gehaltenes "Loch".

    Kann ich hier nicht nachvollziehen, Ich habe das sowohl an einem Beispiel getestet wie auch  hidden-Felder in "meinem" Formular und es wird jeweils kein Platz freigehalten.

    Kann es sein, daß irgend eine Anweisung in deinem CSS "allgemein" genug ist, aus Versehen die "hidden inputs" mitzugestalten?


    Kai

    --
    What is the difference between Scientology and Microsoft? One is an
    evil cult bent on world domination and the other was begun by L. Ron
    Hubbard.
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|