【问题标题】:Navigational bar导航栏
【发布时间】:2013-03-09 23:54:09
【问题描述】:

我正在尝试创建一个鼠标悬停导航站点。我将此作为我的基本设计,但我希望拥有“我们的团队”、位置和患者资源的主要按钮。这是我在尝试更改为鼠标悬停方案之前所拥有的......

<div class="title">Division of Gastroenterology</div>
</center>
<div class="left_side">  
<p> Staff</p>
<p><b><a href="faculty.html">Faculty</a></b></p>
<p><b><a href="fellows.html">Fellows</a></b></p>

<p>Locations</p>
<p><b><a href="PCAM.html">Perelman Center for Advanced Medicine</a></b></p>
<p><b><a href="PPMC.html">Presbyterian Medical Center</a></b></p>
<p><b><a href="Radnor.html">Penn Medicine at Radnor</a></b></p>

<p>Patient Resources</p>
<p><b><a href="Preps.html"> Procedure Preps</a></b></p>
<p><b><a href="ProviderNumbers.html">Insurance Provider Numbers</a></b></p>
<p><b><a href="Lichtensteindiet.html">IBD Diet</a></b></p>

我试过了,但显然缺少一些东西......

【问题讨论】:

  • 有不同的方式来实现你想要的——你是说水平的还是垂直的?也就是说,如果您希望导航菜单是水平的还是垂直的?而且,如果您希望它是弹出窗口或内联?
  • 当您说您正在寻找“鼠标悬停导航网站”时,您到底想完成什么??
  • @lmno,我认为她正在尝试制作一个 CSS 样式的导航栏 - 当您将鼠标悬停在相关项目上时会弹出一个子菜单。
  • @LisaLowerHariegel 我不知道这个 HTML 试图传达什么。如果这就是拍摄的目的,为什么要使用p 标签? center 标签被关闭但从未打开的目的是什么?简而言之,我们能否了解一下您目前正在使用的内容,或者您​​正在拍摄的示例?
  • 我正在尝试创建垂直导航,当您将鼠标悬停在 javascript 而不是 CSS 中的主要项目上时,子菜单会显示在该位置。中心标签属于页面居中较高的标题。

标签: javascript html css drop-down-menu navigation


【解决方案1】:

我过去所做的是将下拉菜单隐藏在屏幕之外,然后当用户将鼠标悬停在链接上时,将下拉菜单重新显示。

我通过使用这样的无序列表实现了这一点:

 <ul id="nav">
    <li>Home
         <ul>Link 1</ul>
         <ul>Link 2</ul>
         <ul>Link 3</ul>
    </li>
 ...
 </ul>

并且在 CSS 中将主 &lt;li&gt; 的位置设置为 relative,下拉列表中的 absolute:hoverleft 的位置设置为 0

/* --- MAIN LINK --- */
#nav li{
    float:left;
    margin-right:35px;
    position:relative;
}

/*--- DROPDOWN ---*/
#nav ul{
    list-style:none;
    position:absolute;
    left:-9999px; /* Hide off-screen when not needed (this is more accessible than display:none;) */
}

#nav li:hover ul{ 
    left:0; /* Display the dropdown on hover */

【讨论】:

    【解决方案2】:

    我认为您正在尝试创建一个导航栏,这是从您发布的信息以及您的一般问题中推断出来的。

    要完全实现这一点,需要进行一些编辑和解释 - 这将太长而无法完全完成。因此,我在网上改编了一个很好的解决方案,它使用 无序列表和 CSS,并提供给您以及链接的文章。

    解决方案尝试:http://jsfiddle.net/zFsaF/1/

    <nav>
        <ul>
            <li><a href="#">Staff</a>
                <ul>
                    <li><a href="faculty.html">Faculty</a></li>
                    <li><a href="fellows.html">Fellows</a><li>
                </ul>
            </li>
            <li><a href="#">Locations</a>
                <ul>
                    <li><a href="PCAM.html">Perelman Center for Advanced Medicine</a></li>
                    <li><a href="PPMC.html">Presbyterian Medical Center</a></li>
                    <li><a href="Randor.html">Penn Medicine at Randor</a></li>
                </ul>
            </li>
            <li><a href="#">Patient Resources</a>
                <ul>
                    <li><a href="Preps.html">Procedure Preps</a></li>
                    <li><a href="ProviderNumbers.html">Insurance Provider Numbers</a></li>
                    <li><a href="Lichtensteindiet.html">IBD Diet</a></li>
                </ul>
            </li>
        </ul>
    </nav>
    

    CSS:

    nav ul ul {
        display: none;
    }
    
    nav ul li:hover > ul {
        display: block;
    }
    
    nav ul {
        background: #efefef; 
        background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);  
        background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%); 
        background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%); 
        box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
        padding: 0 20px;
        border-radius: 10px;  
        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: #4b545f;
            background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
            background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
            background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%);
        }
    nav ul li:hover a {
        color: #fff;
    }
    
    nav ul li a {
        display: block; padding: 25px 40px;
        color: #757575; text-decoration: none;
    }
    
    nav ul ul {
        background: #5f6975; border-radius: 0px; padding: 0;
        position: absolute; top: 100%;
    }
    nav ul ul li {
        float: none; 
        border-top: 1px solid #6b727c;
        border-bottom: 1px solid #575f6a;
        position: relative;
    }
    nav ul ul li a {
        padding: 15px 40px;
        color: #fff;
    }   
    nav ul ul li a:hover {
        background: #4b545f;
    }
    nav ul ul ul {
        position: absolute; left: 100%; top:0;
    }
    

    文章:http://line25.com/tutorials/how-to-create-a-pure-css-dropdown-menu

    您当然可以根据需要随意调整它。

    注意:如果有些事情没有意义,您可以随时参考原始文章、使用 Google 或查阅非常好的 W3Schools 参考:

    http://www.w3schools.com/css/css_navbar.asp

    祝你好运!

    更新:

    OP 忘了提到解决方案必须使用 Javascript

    因此,最好的起点是检查已经完成要求的教程。这是一个很好的起点:

    http://vandelaydesign.com/blog/tools/dropdown-navigation-menus/

    【讨论】:

    • 我确实更新了使用
        等,但我需要使用 javascript 而不是 CSS 创建鼠标悬停。有什么想法吗?
    • 我有一些——比如使用一些库,但最后——他们也会使用 CSS。你无法避免它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多