如何定位固定而不干扰宽度

时间:2013-10-19 13:50:33

标签: html5 css3

想知道如何让我的#header定位固定而不会让它变得更宽。

我多次检查了我的代码,似乎无法弄清楚什么干扰了我的标题的宽度。出于某种原因,它会变得更宽并且稍微向下跳跃,而我之前给它70%的宽度并且之后不会改变宽度。

如何将我的标题位置固定为正确的宽度:70%而不是让它跳下来? 还有一种正确的方式或更好的方式比我现在拥有我的“我的名字”&我的导航在#header中彼此相邻?我的名字在左边,而导航在右边的#header。

HTML5:

    <body>
 <section id="Header" class="group">
  <header>
       <h2><a href="http://www.epicforever.com">My Name</a></h2>
  </header>
  <nav class="main">
   <ul class="group">
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
       </ul>
  </nav>
     </section>

     <section id="TopContainer" class="group"> 
  <p>Welcome to my Portfolio</p>
  <p>Webdevelopment is my passion and I'd love to design and develop a website for you        
      sometime!</p>
      <div class="block1">
   <header><h2>Brand</2></header>
  </div>
  <div class="block2">
   <header><h2>Web</h2></header>
  </div>
  <div class="block3">
   <header><h2>Design</h2></header>
  </div>
  <aside><p>See all projects<a href="#">// brand // web // print</a></p></aside>
 </section>

CSS3:

html {
width: 100%;
    }


body{
background-image: url("img/bg.png");
font-family: arial, 'Lucida Sans Unicode';
font-size: 87.5%;
line-height: 15px;
color: #000305;
    }

#Header, #TopContainer, #MidContainer, #AboutContainer, #ContactContainer{
width: 70%;
margin: 0 auto;
    }

#Header{
padding: 0 10% 0 10%;
background-color: #fff;
margin-top: -8px;
position: fixed;
    }

#Header header h2 {
padding-top: 13px;
    }

#Header nav{
text-align: right;
    }

#Header nav ul li{
list-style: none;
display: inline-block;
padding: 5px;
    }


#TopContainer{
height: 150px;
padding: 0 10% 10% 10%;
background-color: #fff;
margin-top: 90px;  /* change this at the end*/
}

2 个答案:

答案 0 :(得分:0)

所以在花了10分钟之后,我看到你在确定位置后没有在#header中指定顶部位置。

所以你的CSS应该是

#Header{
    padding: 0 10% 0 10%;
    background-color: #fff;
    margin-top: -8px;
    position: fixed;
    top:0px;
}

这是小提琴 http://jsfiddle.net/mW5aS/1/

编辑: //使标题和导航并排

您可以使用float属性。

#Header header{
    padding-top: 13px;
    float:left;
    width:55%;
}
#Header nav {
    text-align: right;
    float:right;
    width:40%;
}

这是小提琴http://jsfiddle.net/mW5aS/2/

答案 1 :(得分:0)

回答我自己的问题:Fixed position but relative to container

请参阅此链接以获取答案:Fixed position but relative to container