Verschachtelte DLs level-basiert formatieren

Verschachtelte DLs level-basiert formatieren

Beitragvon daniel908 » 10.02.2011, 13:10

Hallo allerseits,

ich möchte in verschachtelten DLs CSS-Formatierungen verwenden, und zwar unterschiedliche Formatierungen pro Verschachtelungslevel.

Zur Zeit ist das kein Problem, da ich sie so verschachtele:

Code: Alles auswählen
<DL>
   <DT class="bla">...</DT> <DD class="bla">...</DD>
   <DL>
      <DT class="blubb">...</DT> <DD class="blubb">...</DD>
   </DL>
</DL>


Ich formatiere so:

Code: Alles auswählen
.bla {Format 1}
.blubb {Format 2}


Nun ist aber diese Art der Verschachtelung, wie ich gelernt habe, kein valides HTML, sondern die Unter-DLs müssen in den DDs enhalten sein, also so:

Code: Alles auswählen
<DL>
   <DT class="bla">...</DT>
   <DD class="bla">...
      <DL>
         <DT class="blubb">...</DT> <DD class="blubb">...</DD>
      </DL>
   </DD>
</DL>


Nun kann ich beide Levels zwar erreichen mit

Code: Alles auswählen
.bla { Format 1 }
.bla .blubb { Format 2 }


oder sogar wie vorher
Code: Alles auswählen
.bla {Format 1}
.blubb {Format 2}


Was mache ich aber, wenn keine class "blubb" existiert und ich das zweite Level gar nicht formatieren will?
Vorher, mit der flaschen Verschachtelung, ging das sehr einfach mit

Code: Alles auswählen
.bla {Format 1}


Aber jetzt, mit der korrekten Verschachtelung, würde {Format 1} auch aufs zweite Level angewendet werden, was ich aber verhindern will.

Kann ich per CSS explizit ausschließen, daß Formate an eingebettete Tags "vererbt" werden?
Gibt es eine andere Möglichkeit?

Vielen Dank!

Gruß
Daniel
daniel908
neu hier
 
Beiträge: 4
Registriert: 06.07.2010, 11:24

Re: Verschachtelte DLs level-basiert formatieren

Beitragvon Azra » 11.02.2011, 09:33

Aus dem Stehgreif würde ich sagen, du vergibst dem eröffnendem <dl> eine ID oder Klasse und arbeitest dich dann runter.
Code: Alles auswählen
#bla dt dd{attribut:wert;}

Habe gerade keine Zeit das auszuprobieren - meld dich wenns nicht klappt.
Falls du selber darauf kommen willst verwende den Suchbegriff "Kaskade" (für Vererbung)
“HTML is the language for describing the structure of Web pages.”
“CSS is the language for describing the presentation of Web pages, including colors, layout, and fonts.”
Noch weitere Probleme? Kontakt über meine Webseite - simonduda.ch
Benutzeravatar
Azra
Stammuser
 
Beiträge: 422
Registriert: 04.02.2010, 08:36
Wohnort: (Alten)bochum

Re: Verschachtelte DLs level-basiert formatieren

Beitragvon daniel908 » 11.02.2011, 10:28

ja klar, runterhangeln geht, aber genau das möchte ich verhindern.
Denn
1. ich weiß vorher gar nicht, wie viele Levels erzeugt werden (das ist dynamisch erzeugtes HTML als Export von einem Outliner)
2. ich habe meistens ein Default-Format und möchte, abhängig von der Klasse, nur einzelne DLs speziell formatieren, z.B. als Sourcecode mit Courier-Font und in einem scrollbaren Rahmen (so wie [code] in einem Forum).
Nun müßte ich mit gezieltem und auf ein Level beschränktem Formatieren nur das Defaultformat angeben und das Code-Format für die Klasse "Code".
Beim hinterhangeln müßte ich
Das Defaultformat angeben
Klasse "Code"
Und ich müßte noch einmal für jede vorkommende Klasse definieren, daß das Level "darunter" wieder das Defaultformat bekommen soll.
Ist nun im Level darunter wieder eine Klasse mit speziellem Format, wird dies evtl. von dem Defaultformat überschrieben, abhängig von der Reihenfolge im CSS.
Auf diese Weise kann ich also (nach meinem Wissensstand) gar kein allgemeingültiges CSS generieren, das mit allen Konstellationen von möglichen Classes klarkommt.
(Bei Erstellung des CSS weiß ich, welche Classes verwendet werden, aber ich weiß nicht, in welcher Reihenfolge, welche Class wo vorkommt usw.)

Gruß
Daniel
daniel908
neu hier
 
Beiträge: 4
Registriert: 06.07.2010, 11:24


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Verschachtelte DLs level-basiert formatieren"

Zurück zu: CSS für Fortgeschrittene

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron