Es gibt eine clevere Methode, die Float-Drops zum Ausklappen nutzt (
http://www.cssplay.co.uk/menus/new-dropdown.html) aber ob man sich das in der Praxis antun will?
Wenn ich derzeit ein Dropdownmenü erstellen müsste, würde ich wohl zum einen dafür sorgen, dass auch ohne Ausklappfunktion alle Menüpunkte erreichbar sind (Übersichsseiten oder dauerhaft sichtbares Untermenü) und angesichts dessen, dass man sich ja nicht mehr darauf verlassen kann, dass es etwas wie :hover überhaupt noch gibt, ist wohl eine durchdachte JavaScript-Lösung heutzutage die bessere Idee.
Noch zu den nicht vorgelesenen Untermenüs: Wenn das Ausklappen auch für Nutzer von Screenreadern möglich ist, dann kann man auch display:none einsetzen. Aria-Attribute kann/sollte man unterstützend einsetzen.