【问题标题】:Horizontal Navigation Bar Issues水平导航栏问题
【发布时间】:2011-12-19 16:05:11
【问题描述】:

我目前正在重新设计我管理的网站,但导航栏出现问题。使用高分辨率(我目前使用的是 1440x900)可以完美运行,但是当我切换到较低分辨率时,最后几个菜单项会被截断。

这是 HTML:

     <body>

<div id="page-wrap">
    <div id="inside">


        <div id="header">
            <img src="LogoGood.gif" alt="LogoGood" width="591" height="224" />



        <div id="nav">
<ul>

    <li><a href="index.html">Home</a></li>
    <li><a href="writings.html">Writing</a></li>
    <li><NOBR><a href="media.html">Media Relations</a></NOBR></li>
    <li><a href="events.html">Events</a></li>
    <li><NOBR><a href="proofreading.html">Proofreading</a><NOBR></li>
    <li><NOBR><a href="work.html">Writing Workshops</a></NOBR></li>
    <li><a href="publications.html">Publications</a></li>
    <li><a href="About.html">Working With You</a></li>
    <li><a href="aboutkathy.html">About Kathy Mayer</a></li>
    <li><a href="contact.html">Contact Kathy</a></li>
</ul>

和css:

    #page-wrap {
background: beige;
min-width: 780px;
max-width: 1260px;
margin: 10px auto;
}
#page-wrap #inside {
    margin: 50px 10px 0px 10px;
    padding-bottom: 10px;
}

    #main-content {
background: beige;
padding-left: 50px;
padding-top: 80px;

height: 400px;}


    #header {
padding-top: 5px;
background: beige;
text-align: center;}

    #nav {
float: left;
width: 100%;
background: beige;
height: 80px;
overflow: hidden;
padding: 0;
margin: 10px 0 0 0;
border-bottom: 1px solid rgb(255,23,28);}

    #nav ul{
text-align: center;
float: left;
list-style: none;
padding-left: 13px;
margin: auto;}

    #nav li {
float: left;
list-style: none;}


    #nav li a {
display: block;
padding: 8px 8px;
border-right: 1px solid rgb(255,23,28);}

提前致谢!

【问题讨论】:

  • 我认为您的代码不完整,li 元素的样式在哪里?另外,你能在 jsfiddle 上发布一个工作示例吗? (最好不要使用 而是使用 css white-space:nowrap...)
  • 如果元素被截断,可能与设置为隐藏的“溢出”属性有关。一个可行的示例肯定会有所帮助,但请朝那个方向看。
  • @FrankParent 我删除了溢出:隐藏的 CSS 并重新加载了页面并更改了我的分辨率。这次菜单项在那里,但在下一行。无论如何要解决这个问题?

标签: html css navbar


【解决方案1】:

我认为这里的主要问题是菜单项的数量和定义的高度。项目在那里,但#nav 的高度只是80px。对于更宽的屏幕,这应该不是问题,但对于分辨率较小的屏幕,菜单会被切掉,尤其是在高度已经定义的情况下。最重要的是,在单个导航栏中拥有很多项目肯定会增加其整体宽度。链接的长名称也有助于增加每个li 的宽度(例如,“About Kathy Mayer”与“About”或“About Me”相比,“Contact Kathy”与“Contact”相比)。

摆脱这个问题的一种方法是创建两个单独的导航栏。您可能在页面的右上角有“主页”、“关于/关于 Kathy Mayer”和“联系/联系 Kathy”,使其成为一个单独的导航栏,并将其余部分保留在另一个导航栏上,所以你会有两个不同的导航栏。

另一种方法是制作垂直导航栏,这将消除整个问题。

我刚刚得到的另一个想法:您还可以为具有相似标题的项目设置子菜单,例如在一个子菜单下加入“写作”、“校对”和“研讨会”。

希望对你有所帮助。

【讨论】:

    【解决方案2】:

    您已将#page-wrap 设置为min-width:780px - 但您的菜单比这更宽。

    http://jsfiddle.net/bbcmF/

    尝试更大的最小宽度:http://jsfiddle.net/bbcmF/1/(或缩小菜单)

    【讨论】:

    • 更改最小宽度并没有解决问题,也没有使菜单变小。使菜单的宽度变小只是切断了超出该宽度的其余菜单项。还有其他建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多