aber wie kann ich dann machen, dass es blau wird?
Dafür brauchen wir aber nicht extra ein Element.
und wie kann ich machen, dass das untermenü direkt neben dem button aufgeht?
In diesem Fall ist die geeignete Eigenschaft:
menu a.haupteintrag {float:left; width:10em;}
Ein gefloatetes Element ist automatisch ein Blockelement, und ihm lassen sich Blockeelement Eigenschaften wie width und height zuweisen.
Dann kannst du dem untergeordneten ul Element diese Eigenschaft spendieren:
menu a.haupteintrag ul {margin-left:10em;}
mfg Beat