Steffen: Überregel?

Hi,

ich bin auf der Suche nach etwas, wie einer CSS "Überregel".

Ich versuche es mal anhand eines Beispiels.

Wenn ich mir z.B. ein UI-Element bastele, dann soll das natürlich eigene CSSs bekommen.

<div class="meine_ueberregel">[...jede menge code...]</div>

Im CSS würde ich das jetzt so gestalten.

  
.meine_ueberregel .add {  
  /* style für add button */  
}  
.meine_ueberregel .remove {  
  /* style für remove button */  
}  
.meine_ueberregel .modify {  
  /* style für modify button */  
}  

Nun muss ich natürlich für jede Klasse diesen Prefix angeben. Geht das nicht einfacher? Gibt es da nichts? Ala Namespaces, nur eben etwas anders.

Ich stelle mir das so oder so ähnlich vor.

  
.meine_ueberregel  
{  
  .add {  
    /* style für add button */  
  }  
  .remove {  
    /* style für remove button */  
  }  
  .modify {  
    /* style für modify button */  
  }  
}  

Danke schonmal im Voraus.

Grüße

  • Steffen
  1. Om nah hoo pez nyeetz, Steffen!

    Nun muss ich natürlich für jede Klasse diesen Prefix angeben. Geht das nicht einfacher? Gibt es da nichts? Ala Namespaces, nur eben etwas anders.

    In reinem CSS gibts das nicht, aber dies *S*ollte *A*uch *S*ass *S*icherstellen.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Beo und Beobachter.

    1. Hi!

      In reinem CSS gibts das nicht, aber dies *S*ollte *A*uch *S*ass *S*icherstellen.

      Danke! Dann wird da wohl kein Weg herumführen.

      Grüße

      • Steffen
  2. Hi!

    Nun muss ich natürlich für jede Klasse diesen Prefix angeben. Geht das nicht einfacher? Gibt es da nichts? Ala Namespaces, nur eben etwas anders.

    Ja, gibt es - nennt sich ID.

    Gruß Gunther

    1. Hi,

      Ja, gibt es - nennt sich ID.

      danke, aber das meine ich nicht. Ich habe auch absichtlich kein ID-Beispiel genommen, weil ich auch keine Eindeutigkeit bedingen will.

      Und - die ID müsste ich auch vor jede Regel schreiben. Ich möchte aber nicht vor jede Regel im CSS die ID, bzw. Klasse schreiben müssen. Bei 2 oder 3 Klassen mag das noch gehen, aber wenn die CSSs komplexer werden, wird es schnell unübersichtlich.

      Grüße

      • Steffen
      1. Hi!

        Und - die ID müsste ich auch vor jede Regel schreiben. Ich möchte aber nicht vor jede Regel im CSS die ID, bzw. Klasse schreiben müssen. Bei 2 oder 3 Klassen mag das noch gehen,

        Ersteres ist nun mal unabdingbar. Sorry, aber "so funktioniert" CSS doch.
        Eventuell solltest du dann mal deine Vorgehensweise bezüglich des Einsatzes/ der Vergabe von IDs und Klassen in deinem Markup überdenken ...! ;-)

        aber wenn die CSSs komplexer werden, wird es schnell unübersichtlich.

        Und sie werden komplexer ..., man denke bspw. an Media Queries im RWD.

        Eine Alternative hat Matthias dir ja schon hier genannt.

        Gruß Gunther

        1. Hi!

          Ersteres ist nun mal unabdingbar. Sorry, aber "so funktioniert" CSS doch.

          Ich weiß und genau deswegen frage ich; ob ich vielleicht ein "Feature" von CSS übersehen hab. So ist es (mMn) "unpraktisch".

          Eventuell solltest du dann mal deine Vorgehensweise bezüglich des Einsatzes/ der Vergabe von IDs und Klassen in deinem Markup überdenken ...! ;-)

          Da sehe ich keinen Grund. Wie würdest Du sonst allgemeine und wiederverwendbare UI-Elemente stylen? (Ein gewisses Set von CSS-Klassen soll nur auf einen definierten Zweig im DOM wirken.)

          Eine Alternative hat Matthias dir ja schon hier genannt.

          Yep. Ich war auf der Suche nach einer nativen Lösung, aber die scheint es nicht zu geben.

          Grüße

          • Steffen
          1. Hi!

            Eventuell solltest du dann mal deine Vorgehensweise bezüglich des Einsatzes/ der Vergabe von IDs und Klassen in deinem Markup überdenken ...! ;-)

            Da sehe ich keinen Grund. Wie würdest Du sonst allgemeine und wiederverwendbare UI-Elemente stylen? (Ein gewisses Set von CSS-Klassen soll nur auf einen definierten Zweig im DOM wirken.)

            Das war so gemeint, dass man sich durch die Vergabe von zu vielen oder zu wenigen Ids und Klassen das Leben auch selber erschweren kann. ;-)

            Ein "Pauschal-Rezept" gibt es da imho nicht, weil es immer auf den jeweiligen individuellen Fall ankommt.

            Prinzipiell gilt imho:

            allgemein           -  speziell  -         spezieller               - individuell
            (Universal- / Tag-Selektor)  -  (Klasse)  -  (mehrere Klassen, ID + Klasse)  -    (ID)

            Das obige soll nur zur Veranschaulichung dienen und ist keineswegs vollständig.

            Gruß Gunther

            1. Hi!

              Da sehe ich keinen Grund. Wie würdest Du sonst allgemeine und wiederverwendbare UI-Elemente stylen? (Ein gewisses Set von CSS-Klassen soll nur auf einen definierten Zweig im DOM wirken.)

              Das war so gemeint, dass man sich durch die Vergabe von zu vielen oder zu wenigen Ids und Klassen das Leben auch selber erschweren kann. ;-)

              Weniger ist da meistens mehr. less is more ;-)

              Danke für die Antworten!

              Grüße

              • Steffen