Проблемы с выпадающим меню CSS - PullRequest
0 голосов
/ 21 марта 2010

Может кто-нибудь помочь с небольшой проблемой.

У меня есть хорошее простое выпадающее меню CSS

http://www.cinderellahair.co.uk/new/CSSDropdown.html

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

Помимо сокращения ссылок на дочернее меню, есть ли какие-либо изменения, которые я могу внести в свой CSS, чтобы остановить это?

Код CSS:

    /* General */
#cssdropdown, #cssdropdown ul { list-style: none; }
#cssdropdown, #cssdropdown * { padding: 0; margin: 0; }
#cssdropdown {padding:43px 0px 0px 0px;}

/* Head links */
#cssdropdown li.headlink { margin:0px 40px 0px -1px; float: left; background-color: #e9e9e9;}
#cssdropdown li.headlink a { display: block; padding: 0px 0px 0px 5px; text-decoration:none; }
#cssdropdown li.headlink a:hover { text-decoration:underline; }

/* Child lists and links */
#cssdropdown li.headlink ul { display: none; text-align: left; padding:10px 0px 0px 0px; font-size:12px; float:left;}
#cssdropdown li.headlink:hover ul { display: block; }
#cssdropdown li.headlink ul li a { padding: 5px; height: 17px; }
#cssdropdown li.headlink ul li a:hover { background-color: #333; }

/* Pretty styling */
body { font-family:Georgia, "Times New Roman", Times, serif; font-size: 16px; }
#cssdropdown a { color: grey; } #cssdropdown ul li a:hover { text-decoration: none; }
#cssdropdown li.headlink { background-color: white; }
#cssdropdown li.headlink ul { padding-bottom: 10px;}

HTML:

    <ul id="cssdropdown">
    <li class="headlink"><a href="http://www.cinderellahair.co.uk/new/index.php">HOME</a></li>
    <li class="headlink"><a href="http://www.cinderellahair.co.uk/new/gallery/gallery.php">GALLERY</a>
        <ul>
            <li><a href="http://amazon.com/">CELEBRITY</a></li>
            <li><a href="http://ebay.com/">BEFORE &amp; AFTER</a></li>
            <li><a href="http://craigslist.com/">HAIR TYPES</a></li>
        </ul>
    </li>
    <li class="headlink"><a href="http://www.cinderellahair.co.uk/new/about-cinderella-hair-extensions/about-us.php">ABOUT US</a>
        <ul>
            <li><a href="http://amazon.com/">WHY CHOOSE CINDERELLA</a></li>
            <li><a href="http://ebay.com/">TESTIMONIALS</a></li>
            <li><a href="http://craigslist.com/">MINI VIDEO CLIPS</a></li>
            <li><a href="http://craigslist.com/">OUR HAIR PRODUCTS</a></li>
        </ul>
    </li>
    <li class="headlink"><a href="http://www.cinderellahair.co.uk/new/news-and-offers/news.php">NEWS &amp; OFFERS</a>
        <ul>
            <li><a href="http://amazon.com/">VERA WANG FREE GIVEAWAY</a></li>
            <li><a href="http://ebay.com/">CINDERELLA ON TV</a></li>
            <li><a href="http://craigslist.com/">CINDERELLA IN THE PRESS</a></li>
            <li><a href="http://craigslist.com/">CINDRELLA NEWSLETTERS</a></li>
        </ul>
    </li>
    <li class="headlink"><a href="http://www.cinderellahair.co.uk/new/cinderella-salon/salon-finder.php">SALON FINDER</a></li>


</ul>

JS код:

    $(document).ready(function(){
    $('#cssdropdown li.headlink').hover(
        function() { $('ul', this).css('display', 'block'); },
        function() { $('ul', this).css('display', 'none'); });
});

Полный код указан по ссылке выше, просто посмотрите исходный код.

1 Ответ

1 голос
/ 21 марта 2010

DEMO: http://jsbin.com/owuqe/edit

Вам необходимо установить положение меню UL следующим образом

контейнер UL

  <ul id="cssdropdown" style="position:relative">

все внутренние UL

  <ul style="position:absolute">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...