bin gerade dabei meine Seite ein bisschen zu überarbeiten…
Unter anderem soll auch ein neues Menü her… Es soll ein horizontales Dropdown-Menü werden.
Das Menü funktioniert soweit auch ganz gut (stammt von css.maxdesign.com), allerdings scheitere ich an einem weiteren dropdown…
Ich schaffe es einfach nicht, dass bei “Item two” ein weiteres dropdown erscheint…
Kann mir jemand helfen?
Aufgrund der eingeschränkten Möglichkeiten der DTDs verrät
einem der Validator allerdings auch nicht, daß es dann nach
Behebung des Strukturfehlers auch nicht sinnvoll ist, a und ul
als gemeinsame Kindelemente von li zu haben. Zu ul paßt ein
andere Blockelement wie eine Überschrift h?, p oder div, wo man
dann das a reinstecken sollte…
Oder sofern das a wirklich irgendsowas wie ein Begriff
werden soll, welcher die ul-Liste repräsentiert, könnte man
stattdessen auch eine Definitionsliste verwenden, da gibt es
ja zwei Listenpunkte td und dd, paßt dann inhaltlich auch
halbwegs, wenn die Liste den Begriff näher definiert und man
eine andere, flachere Struktur für sinnvoller hält.
Ich habe mal noch eine Frage…
Stehe noch ziemlich am Anfang mit CSS und nun komme ich schon wieder nicht weiter…
Versuche jetzt schon seit Stunden das Dropdown jeweils passend zu positionieren, aber es gelingt mir einfach nicht. Wie schaffe ich es, dass das zweite Dropdown bei “Item Two” sich auch darunter befindet?
Ich habe zumindest gerade gesehen, daß du den
Fragmentidentifizierer ‘subnavlist’ zweimal vergeben hast, solch
ein grober Fehler kann eigenartige Folgen haben - im besten
Falle wird einer davon ignoriert. Dann wirken die Anweisungen
auch nicht auf beide. Andere Auswirkungen auch auf das CSS
sind möglich und können je nach browser ganz verschieden sein,
als eines der id-Attribute streichen.
Sofern jedenfalls keine Positionierung auf ein Element wirkt, wird
es im normalen Textfluß angezeigt, bei einem Blockelement
einfach unter dem vorherigen nicht positionierten. Insofern
müßtest du nur die Positionierungseigenschaften für das Element
entsorgen, gegebenenfalls auch explizite oder implizierte
Angaben zu margin und padding, falls es sich um eine Einrückung
handelt - bei Listenpunkten kann auch list-style-position: inside
was bringen.
Da hilft es einem oft, wenn man mittels border oder outline
provisorisch einen Rahmen um Element zieht, um beurteilen zu
können, wo das Element wirklich ist und wo gegebenenfalls ein
Seitenabstand etc …
Meinst Du mit doppeltem Fragmentieridentifizierer die Angabe “subnavlist” im HTML Code weiter unten? Habe den einen jetzt mal entfernt, aber wie soll ich dann ein weiteres Dropdown erzeugen - hatte vorhin schon ein zweites Dropdown mit “subnavlist2” versucht zu bauen, aber das hat leider auch nicht geklappt…
list-style-position: inside hat leider auch nicht funktioniert…
Das Dropdown unter “Item One” funktioniert ja auch tadellos und lässt sich ohne Probleme platzieren, aber beim nächsten hapert es dann…
vielen Dank für Dein Angebot, aber ehrlich gesagt würde ich gerne meins zum laufen bringen, weil es ja auch schon eingebaut und angepasst wurde… Es besteht ja bloß das Ausrichtungsproblem des Dropdown Menüs - ansonsten funktioniert ja alles…
Wenn du eine Klasse von Elementen hast, denen du die gleichen
Eigenschaften geben willst, so verwendest du bei den jeweiligen
Elementen das Attribut class mit der Angabe des jeweiligen
Klassennames und kein Attribut id.
Ansonsten empfiehlt es sich, bei solchen Detailfragen ein
minimales Testbeispiel hochzuladen und die URI davon hier
anzugeben, so daß Leute, die sich mit dem Problem beschäftigen
wollen, sich das direkt angucken können, statt selbst erstmal
was zusammenbasteln zu müssen.
Minimales Testbeispiel bedeutet in dem Zusammenhang, es
sollte nicht mehr drinstehen, als notwendig ist, um das
Problem darzustellen, es sollte aber korrektes (X)HTML und CSS
enthalten und ein komplettes Dokument sein. Das relevante CSS
dann am besten bei dem Testbeispiel oben im Kopf im Element
style, damit man sich den Quelltext in einem Dokument
angucken kann.
Zudem, bei der Reduktion auf ein Testbeispiel fällt einem oft auch
selber auf, an welcher Eigenschaft das Problem hängt und kann
das Problem dann häufig selber lösen, was bei einem einfachen
Beispiel besser funktioniert als an einem großen Dokument mit
vielen CSS-Angaben, die man analysieren muß, um hinter das
Problem zu kommen.
Die Fehler mußt du jedenfalls beheben, bevor du den Kram
hochlädst. Neben dem genannten mit dem doppelten id-Wert
ist auch style falsch gesetzt, das gehört in head und nicht in body.
Klassen spricht man in CSS für (X)HTML dann mit ‘.’ und nicht mit
’#’ an, also z.B. statt ul#subnavlist dann ul.subnavlist für
…
Kann auch sein, daß man dann die Selektoren mit :hover etwas
spezifischer machen muß, damit nicht gleich alles aufgeht.
Bei Opera jedenfalls sehe ich keine falsche Position, sondern
es wird da offenbar immer ul#subnavlist { display: none; }
angwendet, liegt vermutlich am genannten Fehler.