Добрый день, FF говорит "Filter rules containing this property" на первое свойство и его злобно зачеркивает. На второе : "flex-direction has no effect on this element since it’s not a flex container. Try adding display:flex or display:inline-flex." Третье и четвертое свойства - претензий нет. Код (CSS): .submenu { display: flex; flex-direction: column; position: absolute; display: none; } Понимаю, но что делать - нет. Есть простое горизонтальное меню на <ul>,<li>. Все ОК, работает. Теперь хочу в одном из пунктов сделать выпадающее меню. То есть в <li> всобачиваю <ul> и там несколько<li>. Пишу класс submenu. Работает, но некорректно - список открывется, но сдвинут вправо процентов на 50 и промежутки между строчками (пунктами подменю). Хотелось бы помощи, где ошибка. Спасибо.
Спасибо, но теперь вообще перестал этот мир понимать. Попробую описать. Как работает сейчас можно здесь http://www.ockham.xyz посмотреть. Меню все расположено в <nav></nav>. Внутри две части из <ul> </ul>, правая и левая. В левой несколько <li> и в одной из них <ul> для выпадающего меню из <li>. В этом <ul> используется класс .submenu. Для .submenu a {} работае правильно, то есть действую правила из .submenu, но для .submenu li и li:hover .submenu действует правила, описанные для <li> в <nav>. То есть плюет на мои указания. Что не так ? Внизу текст. Спасибо. Код (CSS): .submenu{ flex-direction: column; position: absolute; display: none; } .submenu a{ background-color: buttonshadow; /*background-color: #6699CC;*/ font-size: 0.8em; white-space: nowrap; } .submenu li{ /* padding: 0 0.3em 0 0.1em !important;*/ } li:hover .submenu{ display: flex; clip: auto; width: auto; height: auto; margin: 0; padding: 0.3em 0.1em 0 0.1em !important; } /*********************************************************+*/ .blockr{ margin-left: auto; margin-right: 5px; margin-top: 5px; } .disp{ display:flex; background: buttonshadow; } nav ul { /*background: repeating-linear-gradient(to right, darkgreen 10px, green 15px, darkgreen 20px, #287635 32px);*/ padding: 3px 3%; / margin: 0; text-align: left; color: yellow; } nav ul li { font-size: 1.2em; display: inline; list-style-type: none; border-left: 0px solid white; padding: 0 0.3em 0 0.5em; font-weight: bold; } nav ul li a { /* color: black; /* Hier ist das mit der Linkfarbe genauso, sie soll wei� sein. */ padding:0.1em 0.5em; border-radius:0.5em; text-decoration: none; } nav ul li a:hover, nav ul li a:focus { color:green; background: azure; opacity:0.8; } HTML: HTML: <nav class="disp"> <ul class="disp"> <li>....</li> <li >. <ul class="submenu"> <li>text <li/> <li>text <li/> <li>text <li/> </ul> </li> </ul> <ul class="blockr"> ...... </ul> </nav>
Не совсем понимаю вас. Вроде, подменю работает как надо, если смотреть на вашем сайте. Что конкретно не нравится?
Нет, надо убрать промежуток между пунктами выпадающего меню или сделать цвет такой же как в самом (самих) пунктах. Это неполучается, проблема выше описана.
Thanks, попробовал - толку нет. Я думаю проблема вот в чем. Инспектор показывает строчку <ul class="submenu"> серым цветом, наскольк я понимаю, это значит, что он не действует. И когда я смотрю на свойтва <li> внутри, то он показывает Код (CSS): nav ul li { font-size: 1.2em; display: inline; list-style-type: none; border-left: 0px solid white; padding: 0 0.3em 0 0.5em; font-weight: bold; } То есть это подтверждает, что класс .submenu не имеет никакой силы. ПОЧЕМУ - я не могу понять. Или ошибка вообще в другом?
Не знаю, как вы обнуляли, но я у вас в коде изменил вот так: Код (CSS): .submenu li { margin-bottom: 0; } И меня пункты подменю прижались --- Добавлено --- У вас еще там вот такой коммент лежит: /* padding: 0 0.3em 0 0.1em !important;*/