Когда вы говорите which tag is right menu ul li or menu li?
, вы говорите о div с class="menu"
или говорите о устаревшем теге меню (<menu>
)?
Если вы просто говорите о своем CSS-коде, это не теги, а селекторы. И я бы выбрал самый конкретный из доступных селекторов, чтобы избежать случайных назначений
.menu > ul > li{
// this matches only list items directly inside a ul directly inside a .menu
}
еще лучше было бы это:
#menu > ul > li{
// now you are referencing the menu by id, so you know this is a unique assignment
}
или, если у вас несколько меню:
#menubar > .menu > ul > li{
}
потому что в противном случае вас ждут сюрпризы, у вас может быть такая структура:
(я знаю, это ужасно, но только для того, чтобы доказать свою точку зрения)
<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>
(вы, вероятно, не хотите совпадать с пунктами abc или xyz).