【问题标题】:Adding drop down sub menu to code将下拉子菜单添加到代码中
【发布时间】:2014-01-30 18:13:06
【问题描述】:

我一直试图在这段代码中添加一个下拉菜单,但似乎总是被转过来。我只想要一个带有简单翻转效果的子导航的基本外观。每次我尝试不同的代码时,它都会在下拉菜单中使用主页图像,并且当它没有悬停时不会消失。想法?

HTML:

   <ul class="navbar">
      <li class="navbar1"><a href="home.html" title="Home">Home</a>
      <ul class="subnav"> 
               <li><a href="#">Menu 1 </a></li>
               <li><a href="#">Menu 2 </a></li>
           </ul>
         </li>

    </ul> 

CSS:

ul.navbar {
width:1000px;
list-style:none;
height:40px;
}
ul.navbar li {
display:inline;
}
ul.navbar li a {
height:40px;
float:left;
text-indent:-9999px;
}
/* Home 0 */
ul.navbar li.navbar1 a {
width:86px;
background:url(../pelican%20outfitters/navbar2.fw.png)
 no-repeat 0 0; 
}
ul.navbar  li.navbar1 a:hover {
background-position:0 -40px; 
}
ul.navbar  li.navbar1 a.current {
background-position:0 -80px; 
}

【问题讨论】:

    标签: html css


    【解决方案1】:

    HTML

       <nav>
            <ul class="navbar">
                <li class="navbar1"><a href="home.html" title="Home">Home</a>
        
                    <ul class="subnav">
                        <li><a href="#">Menu 1 </a>
        
                        </li>
                        <li><a href="#">Menu 2 </a>
        
                        </li>
                    </ul>
                </li>
            </ul>
        </nav>
    

    CSS

    nav {
        margin: 20px auto;
        
    }
    nav ul ul {
        display: none;
    }
    nav ul li:hover > ul {
        display: block;
    }
    nav ul li
    {
        width:100px;
    }
    
    ul li ul li
    {  width:200px;
    
    }
    nav ul {
        font-size: 25px;
        background: white;
        padding: 0px;
        border-radius: 10px;
        border-style: solid;
        list-style: none;
        position: relative;
        display: inline-table;
    }
    nav ul:after {
        content:"";
        clear: both;
        display: block;
    }
    nav ul li {
        float: left;
    }
    nav ul li:hover {
        background: black;
        position:relative;
        z-index:1;
    }
    nav ul li:hover a {
        color: white;
        position:relative;
        z-index:1;
    }
    nav ul li a {
        display: block;
        padding: 15px 20px;
        color: black;
        text-decoration: none;
    }
    nav ul ul {
        background: #000000;
        border-radius: 0px 0px 10px 10px;
        padding: 0;
        position: absolute;
        top: 100%;
    }
    nav ul ul li {
        float: none;
    }
    nav ul ul li a {
        padding: 15px 20px;
    }
    nav ul ul li a:hover {
        background: #2E2E2E;
        border-radius: 10px;
    }
    

    输出:

    Working Fiddle

    【讨论】:

    • Amarnath 我如何将我当前的、活动的和悬停的图像添加到此?每个图像也将具有不同的大小。这是我之前遇到的问题,因为即使我确实输入了图像,它也不会显示整个图像,只会显示其中的一部分。
    【解决方案2】:

    您应该删除 text-indent:-9999px 并将其添加到您的 CSS 中

    删除行:

    ul.navbar li a { text-indent:-9999px }
    

    CSS:

    .navbar li ul {display:none;}
    .navbar li:hover ul {display:block;}
    

    比你有一个带有隐藏子导航的基本导航栏。
    从这里您可以尝试使用您的图片。

    演示是您的代码与新代码..

    DEMO

    更像你想要的是,不要删除 css ..而只添加这 2 行和这 1:

    .navbar li:hover li a{ text-indent:1px; background:white; }
    

    DEMO 2 (没有你的img(不知道它是什么))。

    小提琴评论后的最新更新:
    您应该指定您的 html 和 css .. 刚刚将一个类添加到第一个链接 class="home" 和住宿 class="accomodations"

    并在 css 中更改它..

    /* Home */
    ul.navbar li.navbar1 a.home {
       width:86px;
       background:url(http://s12.postimg.org/rszejjscd/navbar2_fw.png)
       no-repeat 0 0; 
    }
    /* Accomodations */
       ul.navbar li.navbar2 a.accomodations {
       width:220px;
       background: url(http://s12.postimg.org/rszejjscd/navbar2_fw.png) no-repeat -86px 0;
    }
    

    DEMO 3

    【讨论】:

    • 我添加了这三行代码。这就是我现在得到的,当悬停时隐藏的子导航会在 div 中向右射出,并将我的下一个导航主菜单推到上面。 Example Home,Home,Home,Home,Home,Home,Accomodations。然后,当没有悬停在它上面时,它将返回到 Example Home,Accomodations。我尝试了绝对位置,但这使情况变得更糟。您推荐的样式也没有出现。它仍在使用我导航栏中的图像,宁愿使用简单的 CSS 那种上面发布的小提琴,以通过简单的翻转来获得子导航的外观。
    • 你能用你的图片做一个jsfiddle吗?所以我可以看到有什么问题?
    • 在您的演示中,用于家庭的 subnavmeu 拍摄正确,我需要它击落并能够自定义 subnav 的 css。
    • 这是我最新的,同时我开始编写菜单的其余部分。我将位置设置为绝对,这正在创建我的垂直导航栏,yahhhh,但它只显示一个菜单。导航栏的左侧有一个黑色空间。最后,仍然无法为 subnav 格式化图像。 jsfiddle.net/mitchelll182/Z7kB2/1
    • 我正在努力让它工作,等等。 1件事,加padding:0;给你&lt;ul&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    相关资源
    最近更新 更多