When you say which tag is right menu ul li or menu li? Are you talking about a div with class="menu" or are you talking about an obsolete menu tag ( <menu> )?
If you just talk about your css code, these are not tags, they are selectors. And I would go with the most specific selector available to avoid random assignments
.menu > ul > li{
even better:
#menu > ul > li{
or if you have several menus:
#menubar > .menu > ul > li{ }
because otherwise you have surprises, you might have this structure: (this is ugly, I know, but just to prove the point)
<div class="menu"> <ul> <li>Menu Item 1</li> <li>Menu Item 2</li> <li>Menu Item 3 <ul> <li id="abc">Menu Item abc</li> </ul> </li> <li>Menu Item 4 <div><div><div><ol><li><div><ul> <li id="xyz">Menu Item xyz</li> </ul></div></li></ol></div></div></div> </li> </ul> </div>
(you probably don't want to match abc or xyz elements).
source share