hawkmaster: Option value Spezifikation ?

Hallo zusammen,

Gibt es eigentlich beim "option value" einer Select Box Einschränkungen oder Spezifikationen hinsichtlich der Schreibweise?

Wären Werte wie Dateinamen (z.b. de.gif) erlaubt?

<select>
<option value="ie.gif">Irland</option>
<option value="de.gif>Deutschland</option>
</select>

vielen Dank und viele Grüße
hawk

  1. Wären Werte wie Dateinamen (z.b. de.gif) erlaubt?

    ja

    Behandle den Inhalt HTML-gerecht

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Hallo Beat,

      ja

      Behandle den Inhalt HTML-gerecht

      Danke für deine Hilfe.
      Mir geht es speziell um dieses Self Beispiel.
      http://aktuell.de.selfhtml.org/artikel/css/optionbilder/

      Wenn ich die Option values mit de.gif oder ie.gif schreibe und die CSS dann:

        
      <style type="text/css">  
      <!--  
        
          option[value=de.gif]:before { content:url("de.gif"); }  
          option[value=ie.gif]:before { content:url("ie.gif"); }  
        
      -->  
      </style>  
      
      

      dann geht es nicht mehr. Daher meine Frage.

      vielen Dank und viele Grüße
      hawk

      1. Moin!

        Mir geht es speziell um dieses Self Beispiel.
        http://aktuell.de.selfhtml.org/artikel/css/optionbilder/

        Wenn ich die Option values mit de.gif oder ie.gif schreibe und die CSS dann:

        <style type="text/css">
        <!--

        option[value=de.gif]:before { content:url("de.gif"); }
            option[value=ie.gif]:before { content:url("ie.gif"); }

        -->
        </style>

        
        >   
        > dann geht es nicht mehr. Daher meine Frage.  
          
        Punkte in CSS stellen ein Sonderzeichen dar, das entsprechend escaped werden muss. Denn der Punkt selbst ist ja Bestandteil des Selektors für Klassen. Die Browser werden deinen Attribut-Selektor vermutlich mißverstehen und deshalb ignorieren.  
          
        Du hast also kein Problem mit dem Punkt im HTML-Attribut "value", sondern mit dessen korrekter Darstellung im CSS-Selektor. Im Zweifel würde ich diesen Selektor vermeiden, das wäre der einfachste Weg.  
          
         - Sven Rautenberg
        
        1. Hallo Sven,
          vielen Dank für deine gute Erklärung.
          Ja so hatte ich es mir auch zusammengereimt. Ich vermutete auch das es an dem Punkt liegt, der ja ein Klassen Selektor ist.
          Ich habe bei meinem Script nun einfach die Dateiendung weggelassen und baue sie nachher zur Anzeige der Grafik wieder zusammen.

          vielen Dank nochmals
          Gruss
          hawk

        2. @@Sven Rautenberg:

          nuqneH

          Punkte in CSS stellen ein Sonderzeichen dar, das entsprechend escaped werden muss.

          Nein. Die IMHO zu bevorzugende Variante ist, den String in Anführungszeichen zu setzen. Dann muss '.' nicht escapet werden:

          option[value="de.gif"]:before { content: url(de.gif) }

          (Bei 'url()' sind keine Anführungszeichen notwendig.)

          In der Spec [CSS21 §5.8] werden die Schreibweisen mit und ohne Anführungszeichen verwendet, leider ohne jeglichen Hinweis darauf, in welchen Fällen sie notwendig sind. Und nicht, dass es in [CSS3-SELECTORS §6.3] besser wäre.

          Qapla'

          --
          Volumen einer Pizza mit Radius z und Dicke a: pi z z a
          1. Hi,

            In der Spec [CSS21 §5.8] werden die Schreibweisen mit und ohne Anführungszeichen verwendet, leider ohne jeglichen Hinweis darauf, in welchen Fällen sie notwendig sind.

            Steht schon da, direkt nach der Auflistung der 4 Varianten:

            Attribute values must be identifiers or strings.

            Definition of identifier

            Definition of string

            Die Anführungszeichen können weggelassen werden, wenn die Voraussetzungen für identifier gegeben sind. Erlaubt sind sie immer (weil's dann als String betrachtet wird).

            Und nicht, dass es in [[>  CSS3-SELECTORS §6.3 <]] besser wäre.

            Warum auch, ist ja eindeutig genug in CSS 2.1.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            O o ostern ...
            Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
            1. @@MudGuard:

              nuqneH

              Attribute values must be identifiers or strings.
              Definition of identifier
              Definition of string

              Die Anführungszeichen können weggelassen werden, wenn die Voraussetzungen für identifier gegeben sind. Erlaubt sind sie immer (weil's dann als String betrachtet wird).

              Ah, danke.

              option[value=de.gif]:before funktioniert also nicht deshalb nicht, weil das nach dem '.' Stehende als Klassenbezeichner gewertet werden würde (sollte mich auch wundern, wenn der '.' innerhalb von [] steht); sondern deshalb nicht, weil de.gif weder Identifier noch String ist.

              Qapla'

              --
              Volumen einer Pizza mit Radius z und Dicke a: pi z z a