Возникли проблемы с горизонтальной навигацией - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть приложение django с горизонтальной навигацией. Почему-то у меня проблемы с созданием выпадающего меню.

Взгляните на оба эти изображения

No.1 Первое изображение показывает горизонтальную навигацию. С левой стороны изображения есть меню. No.2 Второе изображение показывает, когда я наведите курсор на «Заказы на хранение» (это единственная ссылка, в которой есть раскрывающееся меню.) По какой-то причине правая часть вкладки выглядит немного не так. Это связано с тем, что длина вкладки для хранения, доставки и сбора отличается из-за количества слов. Я хочу попытаться сделать все эти три вкладки одинаковой длины, если это возможно.

Другая проблема, с которой я сталкиваюсь, заключается в том, что левое меню перемещается вправо, когда я перемещаю свой курсор по заказам хранения.

base_menu.html

<ul id="toc">
        <li id="current"><a href="{% url mmc.views.return_clients %}"><span>Home</span></a></li>
        <li><a href="{% url mmc.views.quote_step1 %}"><span>Create quote/order</span></a></li>
        <li><a href="{% url mmc.views.search_item %}"><span> Item Search</a></span></li>
        <li><a href="{% url mmc.views.order_list %}"><span>Storage orders</span></a><br/>
        <ul class="subnav">
                <li><a href="{% url mmc.views.order_list_service 1 %}"><span>Delivery orders</span></a></li><br/>
                <li><a href="{% url mmc.views.order_list_service 2 %}"><span>Collection orders</span></a></li>
        </ul>
        </li>
        <li><a href="{% url mmc.views.service_list 1 %}"><span>Delivery list</span></a></li>
        <li><a href="{% url mmc.views.service_list 2 %}"><span>Collection list</span></a></li>
        <li><a href="{% url mmc.views.invoice_list %}"><span>Export for invoicing</span></a></li>
        <li><a href="{% url mmc.views.dbbackup %}"><span>Backup data</span></a></li>
        <li><a href="{% url mmc.views.help_index %}" target="_blank" onclick="return showAddAnotherPopup(this);"><span>Help</span></a></li>
</ul>
<br/>

base.css

ul#toc {
    height: 2em;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul#toc li{
    background:#ffffff url(../images/tab.png);
    float: left;
    margin: 0 1px 0 0;

}


ul#toc span {
    background: url(../images/tab.png) 100% 0;
    display: block;
    line-height: 2em;
    padding-right: 10px;
}


ul#toc a {
    color: #000000;
    height: 2em;
    float: left;
    text-decoration: none;
    padding-left: 10px;
}

ul#toc a:hover {
    background: url(../images/tab2.png);
    text-decoration: underline;
}

ul#toc a:hover span {
    background: url(../images/tab2.png) 100% 0;
    background-position: 100% -120px;

}

ul.subnav {
    float:left;
    display:none;
    position:absolute;
}

ul#toc li:hover .subnav {
    display:block;
}

РЕДАКТИРОВАТЬ: @Andres: Если я внесу изменения, вы можете увидеть на изображении ниже, раскрывающуюся вкладку нужно немного опустить. Также отсутствует вкладка «Коллекция», но хорошо то, что левое меню не сдвигается вправо. No.3

Обновление @Andres: Я удалил тег
в шаблоне, после чего вкладка снова появилась. Теперь с помощью margin-top: кажется, работает 10px. Теперь из рисунка ниже я должен убедиться, что мой выпадающий список может перекрывать заголовок доставки. И я думаю, что я могу сделать.

No.4

1 Ответ

1 голос
/ 12 сентября 2011

Попробуйте это:

ul#toc {
    height: 2em;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul#toc li{
    background:#ffffff url(../images/tab.png);
    float: left;
    margin: 0 1px 0 0;
    position:relative;

}


ul#toc span {
    background: url(../images/tab.png) 100% 0;
    display: block;
    padding-right: 10px;
}


ul#toc a {
    color: #000000;
    float: left;
    text-decoration: none;
    padding-left: 10px;
}

ul#toc a:hover {
    background: url(../images/tab2.png);
    text-decoration: underline;
}

ul#toc a:hover span {
    background: url(../images/tab2.png) 100% 0;
    background-position: 100% -120px;

}

ul.subnav {
    float:left;
    display:none;
    position:absolute;
}

ul#toc li:hover .subnav {
    display:block;
}

, поскольку ваш класс ul.subnav все еще находится в потоке вещей, когда он всплывает, он сдвигает вещи внизу, если вы расположите его абсолютно относительно родительского элемента li.это должно все исправить.

...