Marc: Konventionen für Klassennamen

Beitrag lesen

Hallo hemplr (komischer Name...),

#sidebar-a_xcolor1 { … }
#sidebar-a_xcolor2 { … }

Hier verwendest du gar keine Klasse.

Ja richtig, aber eine ID, deren Suffix halt "_xcolorn" ist, dieser Suffix wird auf der entsprechenden Seite dann auch als Klassenname eingesetzt, so dass dann die Attribute auch auf die anderen speziellen Elemente angewendet werden. Die Seite wird aus einem in der DB gespeicherten Template gebaut und soll in Abhängigkeit von der Hauptnavigationsebene in unterschiedlichen Farben dargestellt werden - das ganze dann noch so ziemlich universell.

Wie schon gesagt: Lass das! Verwende Farben in Abhängigkeit vom Vorkommen der Überschrift.

Einer Klasse einen Farbnamen zu geben ist Unsinn! Verwende logische Bezeichnungen - keine physischen!

Und da halt jeweils eine _xcolorn-Benennung für eine Farbzusammenstellung, wobei verschiedene ELemente eben bestimmte Hervorhebungen haben (Linker Rand, Hintergrundfarbe) und diese über den Klassennamen, der dynamisch generiert wird aus nem festen Namensteil und nem Variablen. Wobei der feste Namensteil bestimmte "Normaleinstellungen" beinhaltet und das Template auch ohne unterschiedliche Farben mit der gleichen Style-Datei anzeigbar sein soll.

Wie schon gesagt: Lass das! Verwende Farben in Abhängigkeit vom Vorkommen der Überschrift.

Einer Klasse einen Farbnamen zu geben ist Unsinn! Verwende logische Bezeichnungen - keine physischen!

h1._xcolor1

h1.xcolor {}

Wozu vergibst du für die Überschrift eine Klasse? Hast du mehrere <h1> auf der Seite? Das wäre schlecht.
Mhm - das mit den mehreren H1 ist mir noch garnicht aufgefallen, aber schnell änderbar - aber für den Sachverhalt nicht von Bedeutung.

Oh doch. Schließlich wolltest Du Namen, Was Du suchst ist "h1". Sonst nichts. Um einer h1 eine Farbe zuzuordnen braucht man keine Klassen.

Falls du pro Themenbereich andere Formatierungen wünschst, gib dem »» body-Element eine sprechende ID.

<body id="information">

<body id="produkte">

  
Du meinst wohl:  
  
~~~html
<div id="information">  
<div id="produkte">

oder hat Dein Dokument mehrere bodies ;-)

Dann kannst du mittels

#information h1 { … }

#produkte h1 { … }


> >   
> > selektieren.  
> Nunja - ein guter Gedanke wäre das schon, nur macht hier der IE eben bei weiteren (mehreren) Klassenzuweisungen auf ein Element nicht mit (bzw. ignoriert Klassenanweisungen vollkommen) - es ist einfach ziemlich sackend bzw. eher unmöglich, den IE zu verstehen.  
  
Dich zu verstehen ist auch nicht einfach...  
  
Wozu mehrere Klassen?  
  

> So richtig kaskadieren geht bei dem Teil, soviel ich in den letzten Tagen intensiver Arbeit mitbekommen habe, ja eh nur über Bocksprünge bzw. ID-unabhängiges Selektieren. Bei div-Containern mit ner ID und dem Versuch der Zuweisung, untergeordnete Elemente mittels allgemein für das Dokument gültiger Klassen  zu beeinflussen, läuft das gegen den Baum - speziell für die ID angelegte Klassen werden interpretiert.  
  
??? - Also so etwas funktioniert:  
  
  
HTML:  
  
  
<body>  
 <div id="head">  
  <h1>Unser <span>Unternehmen</span></h1>  
 </div>  
</body>  
  
CSS:  
  
div#head h1 {color:#000000;}  
div#head h1 span {color:#ff0000;}  
  
  

> > > h1.\_xcolor2  
> >   
> > Also das gefällt mir nicht besonders gut. Wozu der Unterstrich?  
>   
> Der Unterstrich ist Trenner für dem fixen und den variablen Teil der ID-Namen, die dynamisch generiert werden (aus nem fixen Hash, der die DB-Werte der aktuellen Seite in die Farbklassennamen übersetzt). So wollte ich mit einer Variablen alles erschlagen, ID-Namen und CSS-Klassennamen - und wenn die Variable nicht da ist (aus welchen Gründen auch immer) wird die Seite trotzdem in nem Standard-Style angezeigt (der Term ' class="$farbclassname"' wird in bedingt generiert und ner Variablen zugewiesen, so dass bei "Ausfall" die entsprechenden Elemente keine Klassenzuweisung beinhalten)  
  
Wozu das alles? Ich verstehe immer noch nicht, wozu du das alles brauchst - schreib doch einfach die Farben in die CSS-Datei statt Klassennamen zu generieren...  
  
Ich sehe überhaupt kein Problem...  
  
Übrigens: solltest Du zusammngesetzte Klassenamen brauchen, empfehle ich so etwas wie:  
  
.klasseFuerBesondersKomplizierteCssDateien {color:#000000;}  
  
Viele Grüße,  
Marc.

-- 
Und immer schön  
validieren (<http://validator.w3c.org>)