Адаптивная навигация внутри фиксированной ширины

#javascript #jquery #html #css #drop-down-menu

#javascript #jquery #HTML #css #выпадающее меню

Вопрос:

Я использую адаптивное навигационное решение под названием Naver (http://formstone.it/components/Naver ) для моих веб-сайтов. Однако я сталкиваюсь с проблемами, когда использую адаптивную навигацию фиксированной ширины (например, сетку). Адаптивная навигация принимает ширину своего родительского элемента и не отображается на 100% ширине.

Вот два примера, один с навигацией внутри сетки, а другой просто перемещен вправо:

Примечание: у меня есть пара внешних ресурсов в каждом из этих скриптов.

Мне интересно, как я могу каким-то образом настроить свой CSS или JavaScript, чтобы мой адаптивный выпадающий список отображался на 100% при нажатии, независимо от ширины родительского элемента.

HTML

 <div class="clearfix">
    <div class="float-left">
        <a href="http://concisecss.com">
                <img src="http://concisecss.com/images/logo.svg" alt="Concise Logo" width="150" />
            </a>
    </div>

    <div class="float-right">
        <nav class="nav-responsive">
            <ul class="list-inline list-unstyled">
                <li><a href="">Welcome</a>

                </li>
                <li><a href="">Why Concise</a>

                </li>
                <li><a href="">Get Started</a>

                </li>
                <li><a href="">Documentation</a>

                </li>
                <li><a href="">Add-Ons</a>

                </li>
            </ul>
        </nav>
    </div>
</div>
  

CSS

 .naver .naver-handle {
    color: inherit;
    cursor: pointer;
    display: none;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
    text-align: right;
    text-transform: uppercase;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.naver .naver-wrapper {
    height: auto;
}
.naver.enabled .naver-handle {
    display: block;
}
.naver.enabled .naver-wrapper {
    height: 0px;
    overflow: hidden;
}
.naver.enabled .naver-wrapper ul li {
    display: block;
    padding: 8px;
    text-align: left;
    width: 100%;
}
.naver.enabled .naver-wrapper ul li:hover {
    background: #f9f9f9;
}
.nav-responsive.naver .naver-handle:after {
    content:"f0c9";
    font-family: FontAwesome;
    text-align: right;
}
  

Библиотека Naver jQuery:http://formstone.it/components/Naver/jquery.fs.naver.js

Ответ №1:

Вам нужно указать навигацию и ее верхний контейнер width из 100% . Делая это, вы гарантируете, что оба будут занимать 100% ширину вашего экрана (или в каком бы контейнере они ни находились)

для вашего первого использования используйте jsfiddle, .naver-wrapper{width:100%;} потому что naver-wrapper это верхний родительский элемент для вашей навигации. Проверьте здесь

в то время как во втором примере вы должны предоставить как навигацию, так и верхний контейнер (родительский) width:100% Проверьте здесь

 .naver-wrapper{width:100%;}
.float-right{width:100%;}
  

Ответ №2:

Используйте приведенный ниже CSS. Я надеюсь, что это полезно для вас:

CSS

 .naver.enabled .naver-wrapper{
overflow: hidden;  position: absolute; left: 0px; width: 100%; }