Sorry, but Clive hit the nail on the head. The width of the popup menu is decided by the browser, not by the HTML /CSS, based upon the length of the rendered strings. I tend to use substr() with an indicative ellipsis ('...') if I've got a bunch of strings that are too long to fit in the allocated space.
Cheers,
Ben.