2016-04-26 7 views
0

У меня есть навигационное меню боковой панели с дочерними и дочерними элементами, которые появляются при наведении. Вот ссылка jsfiddle: https://jsfiddle.net/s096zfpd/прокрутка в пределах переполнения: видимая; div, когда содержимое ребенка превышает родительскую высоту

Это, очевидно, значительно упрощено, чтобы дать представление о том, чего я пытаюсь выполнить. Моя проблема заключается в том, что иногда список в пределах <nav> превышает высоту <nav>. В этом случае я хочу иметь возможность прокручивать в пределах <nav>, но это может скомпрометировать свойство overflow-x:visible, которое мне нужно отобразить .sub-nav, поскольку CSS просто не разрешает одновременное использование overflow-x:visible и overflow-y:scroll.

Я думаю, что, возможно, решение js может хорошо работать здесь. Какие-либо предложения?

Спасибо.

+0

Пожалуйста, создайте jsfiddle и общую ссылку. –

+0

Вот он: https://jsfiddle.net/s096zfpd/ –

ответ

0

Если вы используете видимый для overflow-x или overflow-y и что-то иное, чем видимое для другого. Видимое значение интерпретируется как автоматическое Это означает, что мы не можем применить видимыми и скрытым в этот DOM элемент, поэтому идеальное решение было бы

  • Чтобы создать оболочку, а затем применить overflow-x и overflow-y к двум различным элементам DOM. Совместное решение JS скрипку вашей проблемы

    https://jsfiddle.net/e2edvupc/

+0

Вы намеренно использовали 'overflow-x' на обоих элементах? Я не уверен, как это решение. Мне нужен весь список, чтобы прокручивать его вертикально, но при наведении курсора на него отображается «.sub-nav». В '.sub-nav' нет переполненного содержимого, поэтому наличие какого-либо свойства' overflow' в этом элементе бессмысленно. Можете ли вы предоставить обновленный jsfiddle? –

+0

Пожалуйста, проверьте ссылку jsfiddle, которую я поделил, и если это поможет вам решить проблемы, пожалуйста, пометьте мой ответ как завершенный. Спасибо –

+0

Спасибо, но с этой идеей вы не можете щелкнуть ни одной из ссылок внутри '.sub-nav'. Это не решение, которое в настоящее время стоит. Я думаю, мне, возможно, придется использовать js, чтобы исправить это. –