0

ここにフィドルを用意しました:http://jsfiddle.net/zakbx/4/

HTML

<!-- filters -->
<ul class="blog-detail-dropdown">
<li>Select category
<ul class="sub_menu" id="sub_menu_category2">
    <li id="entertainment" class="14">Entertainment</li>
    <li id="film" class="15">Film</li>
    <li id="food" class="18">Food</li>
    <li id="mums" class="17">Mums</li>
    <li id="sport" class="16">Sport</li>
</ul>
</li>
<li>Sort by Blogger
<ul class="sub_menu" id="sub_menu_blogger2">
    <li class="2">Joe Bloggs</li>
    <li class="6">Keith Patterson</li>
    <li class="3">Martin Carlin</li>
    <li class="4">MC Hammer</li>
</ul>
</li>
<li>Sort by Milestone
<ul class="sub_menu" id="sub_menu_milestone2">
    <li class="7">Stage 1<span class="value">stage-1</span></li>
    <li class="8">Stage 2<span class="value">stage-2</span></li>
    <li class="9">Stage 3<span class="value">stage-3</span></li>
    <li class="10">Stage 4<span class="value">stage-4</span></li>
    <li class="11">Stage 5<span class="value">stage-5</span></li>                         
</ul>
</li>
</ul> <!-- end filter section -->

jQuery

$("ul.blog-detail-dropdown li").hover(function(){
    $(this).addClass("hover");
    $('ul:first',this).css('visibility', 'visible');
    }, function(){
        $(this).removeClass("hover");
        $('ul:first',this).css('visibility', 'hidden');
    });​

CSS

/* 
    Level One
*/
ul.blog-detail-dropdown  { 
    position: relative;
    list-style: none;
    height: 58px;
    margin: 15px 0 150px 40px;

    *z-index: 999;

    *margin-left: -5px;
}


ul.blog-detail-dropdown li  { 
    height: 58px;
    padding: 5px 20px 0 20px;
    border: 1px solid #dedede;
    background: url('/images/filter-dropdown.png') #ffffff no-repeat 155px 26px;
    color: #555;
    font-weight: bold;
    line-height: 50px;
    text-decoration: none;
    display: block;
    width: 140px;
    font-size: 14px;
    cursor: pointer;
    zoom: 1;
}

ul.blog-detail-dropdown li:hover { 
    position: relative;
    background: url('images/filter-dropdown-hover.png') #555555 no-repeat 155px 26px; 
    color: #ffffff;
    border: 1px solid #000000;
}
/* 
    Level Two
*/
ul.blog-detail-dropdown ul  { 
    visibility: hidden;
    position: absolute;
    top: 64px;
    left: 0px;
    z-index: 999;
}

ul.blog-detail-dropdown ul li  { 
    font-weight: normal; 
    background: #ffffff; 
    color: #555555; 
    border-bottom: 1px solid #000000; 
    float: none;
}
/* IE 6 & 7 Needs Inline Block */

ul.blog-detail-dropdown ul li:hover  { 
    background: #cccccc;
    color: #555555;
}

ul.blog-detail-dropdown ul li span.value {
    display: none;
}​

私がやろうとしているのは、各ドロップダウン セクションのスペースを空けることですが、それを行う方法が思いつきません。

その上で、子要素の 1 つがホバーされると、黒い境界線が適用されますが、下に既に境界線があるため、少し見苦しくなります。素晴らしいです。

4

1 に答える 1

0

これはあなたが探しているものですか?

http://jsfiddle.net/zakbx/27/

于 2012-08-28T09:37:57.583 に答える