Чтобы зафиксировать положение подменю и предотвратить изменение размера элемента в главном меню, вы можете сделать следующее:
дать подменю (ul element- может быть тем, что вы объявили как .menu ul li ul
):
position:absolute
padding:0
(встроенный отступ элемента ul - это то, что вы назвали "полем неизвестного" origin ") left:100%
для установки местоположения подменю. top:0
для установки местоположения подменю.
укажите его родительский (li element- может быть тем, что вы объявили как .menu li
)):
Что касается последнего вопроса, лично я думаю, используя "nth -чайлд "для вашего случая - не лучший выбор. Я бы предпочел использовать выделенный класс для активного элемента.
Но если вы хотите решить, что вы здесь сделали, просто уточните c о каком элементе Вы хотите стиль: вместо этого селектора: .menu ul li:nth-child(2)
, используйте этот селектор: .menu > ul > li:nth-child(2)
. поэтому стиль будет применен только ко второму прямому li
дочернему элементу главного меню.