CSS UL LI Вертикальное меню - PullRequest
4 голосов
/ 01 марта 2011
<%@ Page Language="C#" AutoEventWireup="true" Theme="SF" CodeBehind="ULLITest.aspx.cs" Inherits="ClickDoors_WebApp.ULLITest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">    

        #Menu
        {
            padding:0;
            margin:0;
            list-style-type:none;
            font-size:13px;
            color:#717171;
            width:100%;
        }

        #Menu li
        {
            border-bottom:1px solid #eeeeee;
            padding:7px 10px 7px 10px;
        }

        #Menu li:hover
        {
            color:White;
            background-color:#ffcc00;
        }

        #Menu a:link
        {
            color:#717171;
            text-decoration:none;
        }

        #Menu a:hover
        {
            color:White;
        }
    </style>
</head>

<body>

    <form id="form1" runat="server">

    <div>
        <ul id="Menu">
            <li><a href="#">Internal Doors</a></li>
            <li><a href="#">Prefinished Internal Doors</a></li>
            <li><a href="#">External Doors</a></li>
            <li><a href="#">Internal Pair [French Doors]</a></li>
            <li><a href="#">External Pair [French Doors]</a></li>
            <li><a href="#">Custom Size Doors</a></li>
            <li><a href="#">Door Frames</a></li>
            <li>Test</li>
        </ul>
    </div>

    </form>
</body>
</html>

При наведении на него цвет фона изменяется немедленно, но цвет шрифта остается неизменным, пока я не наведу курсор на текст.

Короче говоря, я хочу, чтобы мое меню работало аналогично меню stackoverflows (Вопросы Теги Пользователи ....)

Любая помощь будет оценена.

Ответы [ 4 ]

5 голосов
/ 01 марта 2011

Я бы сделал это так:

  1. Установите для тегов <a> значение display:block

  2. Снимите прокладку с <li> (сделайте это padding:0px)

  3. Повторно добавьте отступы к вашим <a> тегам padding:7px 10px 7px 10px;

  4. Добавить background-color:#ffcc00; к #Menu a:hover

  5. Избавиться от #Menu li:hover

3 голосов
/ 01 марта 2011

нужно добавить #Menu li:hover a {color:White;} Это установит белый цвет для a при li.

Демо: http://jsfiddle.net/Nceef/

1 голос
/ 01 марта 2011
#Menu li
{
    border-bottom:1px solid #eeeeee;
}

#Menu li a:hover
{
    color:White;
    background-color:#ffcc00;
}

#Menu a:link
{
    color:#717171;
    text-decoration:none;
    display:block;
    padding: 7px 10px;
}          

Единственным недостатком этого метода являются ваши элементы в списке, которые не будут правильно заполнены якорями.

Демо

http://jsfiddle.net/loktar/F6UGv/

1 голос
/ 01 марта 2011

Дайте этому css свойства:

#Menu a {display:block}
#Menu a:hover,active {color:#text-color;background:#background-color;}
...