div formatieren welches bestimmte klasse enthält
Luke
- css
0 shn0 Luke
0
Gernot Back
0 Luke
Klingt für mich eher unmöglich, aber ich dacht ich frag trotzdem mal: Ist es möglich ein div einer bestimmten klasse zu formatieren wenn dieses div ein element einer bestimmten andern klasse enthält? Also der aufbau ist so:
HTML
<div class="menuitem"> irgend ein inhalt </div>
<div class="menuitem"> <div class="calendar">inhalt</div> </div>
<div class="menuitem"> irgend ein inhalt </div>
Jetzt möcht ich nur dem .menuitem die eigenschaft "text-align:center" geben welches den div mit der klasse calendar enthält! Ist das möglich?
Danke im vorraus Luke
Servus,
nein, CSS funktioniert nur "von uben nach unten". Ein Element weiss nicht, was in ihm ist.
Gruss
Patrick
Servus,
nein, CSS funktioniert nur "von uben nach unten". Ein Element weiss nicht, was in ihm ist.
Gruss Patrick
Schade schade
Hallo Luke,
<div class="menuitem">
irgend ein inhalt
</div><div class="menuitem">
<div class="calendar">inhalt</div>
</div><div class="menuitem">
irgend ein inhalt
</div>
Jetzt möcht ich nur dem .menuitem die eigenschaft "text-align:center" geben welches den div mit der klasse calendar enthält! Ist das möglich?
Ich verstehe gar nicht, wofür du die vielen DIVs der Klasse "menuitem" überhaupt brauchst.
Bei dem "Menü" einer Webseite handelt es sich doch um eine Liste von Links (ggf. könnte man sich auch Formularbuttons vorstellen)
Also bau dir doch eine ungeordnete Liste (UL-Element der Klasse "menue"). Die Listeneinträge kannst du über den Nachfahrensselektor ansprechen, also z.B.:
ul.menue li {
text-align:left;
/* weitere Formatierungsangeben, wenn erforderlich */
}
und dann verpasst du deinem List-Item, das eine spezielle Formatierung erhalten soll, eben die davon abweichende Klasse:
ul.menue li.calendar {
text-align:center;
}
oder, falls das Listen-Item mit dem Inhalt für den "Kalender" innerhalb deines HTML-Dokumentes nur einmalig vorkommt, besser noch statt der Klasse "calendar" eine entsprechende ID:
ul.menue li#calendar {
text-align:center;
}
Operiere also mit dem Nachfahrensselektor (Leerzeichen), denn einen Vorfahrensselektoren gibt es in CSS nicht.
Gruß Gernot
Ich verstehe gar nicht, wofür du die vielen DIVs der Klasse "menuitem" überhaupt brauchst.
Bei dem "Menü" einer Webseite handelt es sich doch um eine Liste von Links (ggf. könnte man sich auch Formularbuttons vorstellen)
Ja, normalerweise schon. Hier sind die menuitems eigene Menüs (welche zusammen das ganze Menü bilden). Der name ist wohl ein bischen verwirrend, sollte ich vielleicht ändern.
und dann verpasst du deinem List-Item, das eine spezielle Formatierung erhalten soll, eben die davon abweichende Klasse:
> ul.menue li.calendar {
> text-align:center;
> }
>
Das Problem ist, dass das Kalender-div dynamisch erzeugt wird, ohne einfluss auf das .menuitem-div in dem es erzeugt wird, kann diesem also nicht bei der dynamischen erzeugung die gewünschte eigenschaft geben. Warum ich gerade den .menuitem-div eine eigenschaft geben will? Der Kalender soll zentriert sein, und das geht im IE AFAIK leider nur mit text-align.
Aber: ich habe schon eine lösung gefunden! Die menuitems haben eine feste breite, kann also einfach mit margin arbeiten :)
Trotzdem, danke für die Hilfe!
Operiere also mit dem Nachfahrensselektor (Leerzeichen), denn einen Vorfahrensselektoren gibt es in CSS nicht.
Schade, sowas hoffte ich.
Grüße