将导航定位在全宽度固定标头内

时间:2013-06-01 20:28:24

标签: css header positioning nav

我想要完成的是:

  • 响应式网站
  • 一个包含2个元素的全宽固定标题:
  • 位于最左侧的徽标
  • 和主导航栏。

有一个h1实际上在标题标记之外,在正文中,它显示在标题中,因为标题是半透明的。

这是该网站。 Subject site

问题是: 在我的屏幕上,导航器位于我想要的位置。也就是说:最后一个链接与居中内容区域的右边缘对齐。

但是,当浏览器窗口重新调整大小时,导航(预期)会向左移动,并在遇到徽标时最终中断。

我想要做的是让导航保持定位在主要内容的右侧,直到它到达断点,在那里我将使用css媒体查询从那里修复它。

非常感谢提前!

这是html: (我尝试了很多AP,浮点数,边距(%,px,等)的组合。)

<h1 class="header_text">Welcome...</h1>
<header>
<a href="http://www.allaccessbranding.com">
<img id="logo" src="./images/aai_logo_black_108x211.gif" alt="All Access International logo" />
</a>
<div id="main_nav">
<nav id="main_nav_tag">
    <ul>
        <li><a href="index.php" 
        id="here">Home</a></li>
        <li><a href="about.php" 
        >About</a></li>
        <li><a href="services.php" 
        >Services</a></li>
        <li><a href="calendar.php" 
        >Calendar</a></li>
        <li><a href="gallery.php" 
        >Gallery</a></li>
        <li><a href="contact.php" 
        >Contact</a></li>
    </ul>
</nav>

以下是相关的css:

body {
    min-width: 960px;
    font-family: Verdana, Geneva, sans-serif;
    font-size: 16px;
    background-color: rgb(51,51,51);
}
header {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 108px;
    z-index: 100; 
    background-color: rgba(0, 0, 0, 0.5);
    border-bottom: 2px solid rgb(99,0,0);
}
header #logo {
    float: left;    
}
.header_text {
    margin: 35px 0px 0px 23%;
    font-family: 'Aguafina Script', cursive;
    font-size: 4.6em;
    color: #279D9D;
}
#main_nav {
    width: auto;
    height: 50px;
    font-size: 1.2em;
    float: right;
    margin-right: 19%;
    margin-top: 56px;
}
#main_nav_tag {
    margin: 15px 0 0 5px;
}
#main_nav ul li {
    list-style-type: none;
    float: left;    
    width: auto;
}
#main_nav ul li a {
    line-height: 1.5em;
    color: rgb(255,255,255);
    text-decoration: none;
    text-align: center;
    display: block;
    margin-right: 15px; 
    border-top: 2px solid transparent;
}
#main_nav ul li a:hover {
    border-top: 2px solid rgb(99,0,0);
}
#main_nav ul li #here {
    border-top: 2px solid rgb(99,0,0);
}

2 个答案:

答案 0 :(得分:0)

float: left中有#main_nav ul li,这是问题。

#main_nav ul li浮动更改为右边,如下所示:

#main_nav ul li {
    list-style-type: none;
    float: right;    
    width: auto;
}

http://jsfiddle.net/M_Abooali/JKQkQ/

答案 1 :(得分:0)

好的,我能够搞清楚。我只是将徽标放在绝对位置,将其从流动中取出。 我给导航容器宽度为960px(匹配内容区域),并应用了margin:0 auto,这使导航容器保持在页面的中心位置。然后我将float:right应用到嵌套的nav标签,将其带到容器的右边缘和violla!导航器在重新调整尺寸时保持原位。 谢谢你的帮助。