Klemens: Vererbung

Hallo!
In meinem css file stehen folgende klassen:

#compareInfo{
 margin-top:10px;
 height:40px;
 width:100%;
 cursor:pointer;
}

#compareInfo en{
 background:url(bild_en.gif) no-repeat 11px;
}

#compareInfo de{
 background:url(images/bild_de.gif) no-repeat 11px;
}

ich will über den body mitgeben ob es sich um en/de handelt. ich kenn mich in css nicht aus. kann mir da jemand helfen.

der body hat übrigends schon eine id.

lg

  1. In meinem css file stehen folgende klassen:

    das sind ids

    der body hat übrigends schon eine id.

    wer macht denn sowas? body ist ohnein eindeutig in einem html dokument ;)

    mit dem attribut-selektor
    html[lang="en"] #compareInfo {
     /* was auch immer */
    }

    das funktioniert, wenn du im html-element die natürliche sprache des dokuments ordentlich mit dem lang-attribut angegeben hast - zudem funktioniert der attributsselektor NICHT in allen browsern, hier empfiehlt sich zusätzlich zum lang-attribut eine klasse

    das sieht dann so aus:
    <html lang="en" class="en">

    html[lang="en"], /* standardkonforme browser */
    html.en, {       /* Irgend Ein browser */
    }

    1. Hi,

      der body hat übrigends schon eine id.
      wer macht denn sowas? body ist ohnein eindeutig in einem html dokument ;)

      Ein CSS-File kann aber für mehrere Dokumente benutzt werden, aus CSS-Sicht gibt es also nicht nur ein body-Element.

      mit dem attribut-selektor
      html[lang="en"] #compareInfo {

      Wer macht denn sowas?
      :lang existiert. Also
      html:lang(en)

      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. Ein CSS-File kann aber für mehrere Dokumente benutzt werden, aus CSS-Sicht gibt es also nicht nur ein body-Element.

        natürlich - aber ich gehe prinzipiell davon aus, dass mehrere zusammengehörige html-dokumente die sich ein css-file teilen, irgendwo einheitlich aussehen sollten ;)

        :lang existiert. Also
        html:lang(en)

        damit hast du recht ;) aber auch das kann der internet exploder wider nicht

      2. html[lang="en"] #compareInfo {
        Wer macht denn sowas?

        nachtrag:
        http://www.w3.org/TR/CSS21/selector.html das w3c macht sowas ;)

        dort wird auch die schreibweise lang|="en" als beispiel genannt - die funktionsweise der pseudoklasse :lang ist allerdings identisch

        1. @@suit:

          html[lang="en"] #compareInfo {
          Wer macht denn sowas?

          nachtrag:
          http://www.w3.org/TR/CSS21/selector.html das w3c macht sowas ;)

          dort wird auch die schreibweise lang|="en" als beispiel genannt - die funktionsweise der pseudoklasse :lang ist allerdings identisch

          Nein.

          Bei ':lang' wird, wenn das Elment kein 'lang'- bzw. 'xml:lang'-Attributs besitzt, das des nächst höheren Vorfahrenelements beachtet, das ein solches Attribut besitzt.

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
          <html  
           xmlns="http://www.w3.org/1999/xhtml"  
           xml:lang="tlh" lang="tlh"  
          
          >  
          
           <head>  
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
            <title>Qapla'!</title>  
            <style type="text/css">  
          [code lang=css]p:lang(tlh)  
          {  
           color: red;  
          }
          

          </style>
           </head>
           <body>
            <p>Qapla'!</p>
           </body>
          </html>[/code]

          und "Qapla'!" erscheint blutrot.

          Live long and prosper,
          Gunnar

          --
          Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
          1. Bei ':lang' wird, wenn das Elment kein 'lang'- bzw. 'xml:lang'-Attributs besitzt, das des nächst höheren Vorfahrenelements beachtet, das ein solches Attribut besitzt.

            wieder was gelernt - ich konnte das aus abschnitt "5.11.4 The language pseudo-class: :lang" jedenfalls nicht rauslesen, da steht nichts von vererbung :(

            und "Qapla'!" erscheint blutrot.

            klingonisches blut ist doch meistens rosa ;)

            1. und "Qapla'!" erscheint blutrot.
              klingonisches blut ist doch meistens rosa ;)

              meistens rot, nur einmal rosa ;)

              (oder um’s diplomatisch auszudrücken: „rotes bis rosafarbenes Blut“)

              1. meistens rot, nur einmal rosa ;)

                nein, in klingon honor guard ist das blut auch rosa - obwohl das spiel (wie alle spiele) eigentlich nicht zum canon gehören - aber du hast natürlich recht

    2. Yerf!

      das sieht dann so aus:
      <html lang="en" class="en">

      ...und ist kein valides HTML.

      Gruß,

      Harlequin

      PS: ja ich würde auch gern wissen, weshalb das class-Attribut im html-Tag nicht erlaubt ist.

      --
      <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
      1. <html lang="en" class="en">
        ...und ist kein valides HTML.

        hoppla :D