Yes, the 'right' and 'top' set #menu at the top right corner of its container.
These two values are only available if #menu is set to 'position: absolute;' or 'position: fixed;' (the latter is not supported by IE).
If you set it to 'position: relative;' instead, you can only use 'left', not 'right' (you can still use 'top' as well, but 'right' and 'bottom' are only available for absolutely positioned elements).
If you don't set any position at all, but only write the 'top: XX;' part, it won't do any good, because without a 'position' value specified, it's set to 'position: static;', which basically means you can't move it.
Obviously, if you use 'right' or 'bottom', it counts from right/bottom edge of the element, not the top/left one...