Sven: Frage zu Browserweichen

Slave,

ich will grad auf ne kleine Browserweiche zurueckgreifen und es funktioniert nich.

Ist daran schonmal was Grundsätzlich falsch?

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/seelenhauch/css/sh.css" type="text/css" />
<!--[if IE]>
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/seelenhauch/css/ie.css type="text/css" />
<![endif]-->

Und muss in der ie.css nur die ergänzungen/änderungen für den IE drin sein oder eine komplatte css Datei?

  1. Mahlzeit,

    ich will grad auf ne kleine Browserweiche zurueckgreifen und es funktioniert nich.

    "Funktioniert nicht" funktioniert nicht.

    Ist daran schonmal was Grundsätzlich falsch?

    Das ist eine Glaubensfrage. Ich persönlich finde daran nichts Verwerfliches, da man so zumindest eine "saubere" CSS-Datei hat und vernünftigen Browsern nicht diverse Hacks vorwerfen muss.

    Und muss in der ie.css nur die ergänzungen/änderungen für den IE drin sein oder eine komplatte css Datei?

    Der IE wird beide CSS-Dateien berücksichtigen. Das heißt, er liest erst alle CSS-Anweisungen in der "normalen" CSS-Datei aus und anschließend die in der für ihn speziell zusammengeschusterten. Du musst in letzterer also nur die Anweisungen/Hacks angeben, bei denen der IE Probleme mit dem Standard hat.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Moin

      ich will grad auf ne kleine Browserweiche zurueckgreifen und es funktioniert nich.
      "Funktioniert nicht" funktioniert nicht.

      Ach Jungs das war doch nur die Einleitung......

      Ist daran schonmal was Grundsätzlich falsch?

      Das ist eine Glaubensfrage. Ich persönlich finde daran nichts Verwerfliches, da man so zumindest eine "saubere" CSS-Datei hat und vernünftigen Browsern nicht diverse Hacks vorwerfen muss.

      Hat ich so nicht gemeint, wollt nur wissen ob der Code an sich falsch geschrieben ist aber seh ich auch so wie, vorallem weil die Hacks mein IE auf mein 2t System Linux interpretiert hat obwohl se nur fürn IE waren....

      Du musst in letzterer also nur die Anweisungen/Hacks angeben, bei denen »» der IE Probleme mit dem Standard hat.

      Muss ich dann in der ie.css die hacks angeben oder kann ich ganz normal die Klassen und ids verwenden?

      Hier mal die ie.css die nicht übernommen wird

      h3,
      .componentheading{
        font-size:1.2em;
        }
      #main{
        width: 72%;
        }
      #topnav li ul ul{
        margin: -1.55em 0 0 14.2em;
        }
      #topnav li ul ul ul{
        margin: -1.6em 0 0 14.2em;
        }

      Die Sachen sollen überschrieben werden damit es im IE so aussieht wie im FF aber die Änderungen werden nicht übernommen.

      1. Die Sachen sollen überschrieben werden damit es im IE so aussieht wie im FF aber die Änderungen werden nicht übernommen.

        sollten sie aber.

        Leider findet der [link:http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Florddarkangel.lo.ohost.de%2Ftmpltest%2F@title=Validator  den Fehler nicht, aber vermutlich stört sich der IE am fehlenden schliessenden Anführungszeichen.

        Struppi.

        1. aber vermutlich stört sich der IE am fehlenden schliessenden Anführungszeichen.

          Struppi.

          OMG wie Bananne, es konnte nur son dummer Leichtsinnsfehler sein.

          Danke dir

  2. @@Sven:

    und es funktioniert nich.

    Dieser Text enthält null Aussage.

    Ist daran schonmal was Grundsätzlich falsch?

    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/seelenhauch/css/sh.css" type="text/css" />
    <!--[if IE]>
        <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/seelenhauch/css/ie.css type="text/css" />
    <![endif]-->

    Dass sich dazu nichts sagen lässt, weil niemand außer dir weiß, wie der generierte HTML-Quelltext aussieht, hattest du auch schon in den Tips für Fragende gelesen.

    Und muss in der ie.css nur die ergänzungen/änderungen für den IE drin sein oder eine komplatte css Datei?

    Da 'sh.css' auch für IEs eingebunden wird, müssen in 'ie.css' nur Ergänzungen/Änderungen enthalten sein.

    Live long and prosper,
    Gunnar

    --
    “New Jersey Hall of Fame? […] But then I ran through the list of names: Albert Einstein, Bruce Springsteen... my mother's going to like that. […] it's the only time she's going to hear those two names mentioned in the same sentence, so I'm going to enjoy it.” (Bruce Springsteen when inducted into the New Jersey Hall of Fame, 2008-05-04)
    1. Dass sich dazu nichts sagen lässt, weil niemand außer dir weiß, wie der generierte HTML-Quelltext aussieht,

      Wie wärs damit mal in den angegeben link zu schauen, ich geb den ja nich um sonst an......

      1. Wie wärs damit mal in den angegeben link zu schauen, ich geb den ja nich um sonst an......

        Falls es hilft:
        Meine FF Fehlerkonsole bemerkt:
        sh.css Zeile 55
        h3,
        .componentheading
          {
          color:#FF0000;
          text-align: left;
          font-size:1.5 em;     <--------- 1.5em
          font-weight: normal;
          font-variant:small-caps;
          margin-top:5px;
          margin-bottom:5px;
          }
        Zeile 72
        #right-left h3{
          background: #8F8F8F;
          filter:alpha(opacity=70); <--------- ??? ( Absicht? oder ("opacity=70") ? )
          -moz-opacity:0.7;
          opacity:0.7;
          color: white;
          padding: 0 5px;
          }

        Im HTML
        Zeile 40 : Mehrere Ampersands im Link wurden nicht maskiert.***
        Zeile 40 alt in <img> fehlt
        Zeile 111 <form> (Template-Wähler) verlangt nach einem action attribut
        offenbar soll die gleiche Seite wieder geladen werden.
        Zeile 112 zwei id Deklarationen im gleichen <select> Element
        Das ist hart für mich. denn ich wusste nicht, dass so was verboten ist.
        Die Spez http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2 erwähnt nichts dergleiches für HTML 4.01
        Aber für XHTML gilt http://www.w3.org/TR/2002/REC-xhtml1-20020801/
        Dass IDs nur einmalig pro Element deklariert werden dürfen
        Da habe ich wieder mal etwas gelernt!

        *** mit so etwas hatte ich selbst zu kämpfen.

        mfg Beat

        1. Dass IDs nur einmalig pro Element deklariert werden dürfen

          Nein! Einmalig im dokument

          Struppi.

          1. Dass IDs nur einmalig pro Element deklariert werden dürfen
            Nein! Einmalig im dokument

            Dort steht :
            "id = name [CS]
                This attribute assigns a name to an element. This name must be unique in a document."
            Aber dort steht NICHT
            _The ID attribute MUST only be declared once per element._
            und ich konnte auch nichts finden das für HTML 4.01 besagt:
            _ANY ATTRIBUTE MUST only be declared ONCE per element_

            Es steht auch nicht hier (HTML 4.01):
            http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2

            Vielleicht steht dieser Hinweis an einer ganz anderen Stelle?
            Wäre dankbar für Aufklärung bezüglich HTML 4.01.

            mfg Beat

            1. Aber dort steht NICHT
              _The ID attribute MUST only be declared once per element._
              und ich konnte auch nichts finden das für HTML 4.01 besagt:
              _ANY ATTRIBUTE MUST only be declared ONCE per element_

              Das hatte ich tasächlich falsch verstanden, gibt es für sowas eine Notwendigkeit?

              Struppi.

            2. Es steht auch nicht hier (HTML 4.01):
              http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2

              Vielleicht steht dieser Hinweis an einer ganz anderen Stelle?
              Wäre dankbar für Aufklärung bezüglich HTML 4.01.

              Ich würde mal stark vermuten, dass das in der SGML-Spezifikation steht. In der XML-Spezifikation beispielsweise steht direkt drin, dass ein Attribut nur einmal pro Element verwendet werden darf. Deswegen gilt es auch in XHTML, selbst wenn es nicht in den entsprechenden Spezifikationen steht.
              Der Validator sagt übrigens ganz eindeutig, dass die Mehrfach-Verwendung von Attributen untersagt ist.

              --
              Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
              Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
              1. Hallo!

                Vielleicht steht dieser Hinweis an einer ganz anderen Stelle?
                Wäre dankbar für Aufklärung bezüglich HTML 4.01.
                Ich würde mal stark vermuten, dass das in der SGML-Spezifikation steht.

                Das steht da leider so nicht *explizit* drin (soweit ich sehen kann zumindest), allerdings lässt die Gesamtheit der SGML-Spezifikation nur den Schluss zu, alleine auf Grund der Tatsache, wie dort das Konzept "Attribut" verstanden wird: Jedes Element hat dort nämlich *immer* die Attribute, die in der DTD festgelegt werden - einzig die Attribute, die "IMPLIED" sind, dürfen beim konkreten Element weggelassen werden [1] - der Parser hat dann aber so zu tun, als ob das Attribut trotzdem angegeben wäre - nur halt mit dem Default-Wert, der in der DTD angegeben wurde.

                Was in der SGML-Spezifikation jedoch explizit steht ist, dass in einer Attributsdefinitionsliste (ATTLIST in der DTD) der gleiche Name nur einmal auftauchen darf. Dies zusammen mit der Art, wie Attribute behandelt werden (Eigenschaften, die Elemente *immer* haben, ganz gleich, ob angegeben odre nicht) lässt für mich wirklich nur den Schluss zu, dass Attribute in einem Element nur einmal erlaubt sind.

                Viele Grüße,
                Christian

                [1] Und es gibt noch einen Spezialfall bei Markup Minimalization, wo zusätzliches Weglassen erlaubt ist, der aber für diese Diskussion uninteressant ist.

        2. @@Beat:

          Zeile 112 zwei id Deklarationen im gleichen <select> Element
          Das ist hart für mich. denn ich wusste nicht, dass so was verboten ist.

          AFAIK darf jedes Attribut pro Element nur einmal gesetzt werden: <foo bar="baz" bar="quz"> ist nicht erlaubt.

          Live long and prosper,
          Gunnar

          --
          “New Jersey Hall of Fame? […] But then I ran through the list of names: Albert Einstein, Bruce Springsteen... my mother's going to like that. […] it's the only time she's going to hear those two names mentioned in the same sentence, so I'm going to enjoy it.” (Bruce Springsteen when inducted into the New Jersey Hall of Fame, 2008-05-04)
        3. Zeile 72
          #right-left h3{
            background: #8F8F8F;
            filter:alpha(opacity=70); <--------- ??? ( Absicht? oder ("opacity=70") ? )
            -moz-opacity:0.7;
            opacity:0.7;
            color: white;
            padding: 0 5px;
            }

          Wenn du hier schon die filter:alpha (opacity=70); bemerkst ja das ist absicht, ist Speziell IE. Firefox arbeitet mit opacity:0.7 (CSS 3) oder ältere FF mit -moz-opacity:0.7.

          Was ich mich gerade Frage, kann IE den filter nicht auf nen h3 Hintergrundanwenden? Er zeigt es nämlich nicht an, nur wenn es div oder tabellen hintergründe sind....