Установив для фона явно только прямые дочерние элементы из .well
, вы можете избежать текущего поведения:
Вы делаете это, добавляя >
(дочерний комбинатор) между ними.
.well > ul {
background:url(../images/menubalk.png);
background-repeat: no-repeat;
background-size: 100% 100%;
overflow: hidden;
height: 100%;
}
Дочерний комбинатор (>) помещается между двумя селекторами CSS. Он соответствует только тем элементам, которые соответствуют второму селектору, которые являются прямыми дочерними элементами элементов, соответствующих первому.
Подробнее о дочернем комбинаторе в MDN .
Вторая проблема, вертикальное расширение фона меню, может быть решена с помощью этих селекторов.
- Удалить
overflow: hidden;
из .well > ul
- Отрегулируйте CSS для раскрывающийся класс элемента:
.well .dropdown-menu {
position: absolute;
top: 100%;
}
Он разместит подменю без учета родителя. Поэтому overflow: hidden
нужно удалить, иначе его не будет видно.
Результат скорректированных изменений