菜单栏固定时,元素在菜单栏上滚动

时间:2013-08-25 22:07:08

标签: html css menu menubar

总结:我希望我的菜单栏能够修复(我已经实现了),但是我遇到了一个问题,在滚动过程中,内容移动到固定的菜单栏而不是菜单栏下面。  我检查了不同的网站,我在SO CSS - Make Content Appear Beneath a Fixed DIV Element上看到了一个相关的问题 但它对我不起作用,我想知道为什么?   这是我的HTML代码:

      <!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link href="fixed.css" type="text/css" rel="stylesheet"/>
    </head>
    <body>
        <table class="fixed-bar" width="1333" height="48" border="0" align="center">
            <tr>
                <td width="96" rowspan="2">&nbsp;</td>

                <td><hsso style="font:'Trebuchet MS', Arial, Helvetica, sans-serif; text-shadow:#0C0 0.1em 0.1em 0.3em; color:#030; font-size:32px; text-align:center;"> Fixed Bar.</hsso></td>
        <td><a class="linear" href="signup">
                <span>Sign Up </span>

            </a>
        </td>
    </tr>
    <tr>
        <td  class="nav-bar1" align="left">   



        </td>
        <td width="158" align="left">&nbsp;</td>
    </tr>
</table>
        <div style="height: 80px; width: 100%;"></div> 
 <table width="361" height="891" border="0" align="center" class="tab1" >
    <tr>
        <td width="467" align="center"><input placeholder="Username" autocomplete="on" class="inp" type="text" name="un" id="un"></td>
    </tr>
    <tr>
      <td align="center"><input placeholder="Password" autocomplete="on" class="inp" type="text" name="pw" id="pw"></td>
    </tr>
    <tr>
      <td align="center"><input placeholder="Re-enter Password" autocomplete="on" class="inp" type="text"></td>
    </tr>
    <tr>
      <td align="center"><input placeholder="First Name" autocomplete="on" class="inp" type="text" name="fn" id="fn"></td>
    </tr>
    <tr>
      <td align="center"><input placeholder="Last Name" autocomplete="on" class="inp" type="text" name="ln" id="ln"></td>
    </tr>
    <tr>
        <td align="center"><select class="sel"   name="st"  id="st">
        <option>Please Select your Set</option>
        <option>1997/1998</option>
        <option>1998/1999</option>
        <optiom>1999/2000</optiom>
        <option>2001/2002</option>
        <option>2002/2003</option>
        <option>2003/2004</option>
        <option>2005/2006</option>
        <option>2006/2007</option>
        <option>2007/2008</option>
        <option>2008/2009</option>
        <option>2009/2010</option>
        <option>2010/2011</option>
        <option>2011/2012</option>
        <option>2012/2013</option>

      </select></td>
    </tr>
    <tr>
      <td  align="center"><input placeholder="Email" autocomplete="on" class="inp" type="text" name="em" id="em"></td>
    </tr>
    <tr>
      <td align="center"><input class="reg" type="submit" name="reg" id="reg" value="     Register     "></td>
    </tr>

  </table>
    </body>
</html>

和我的CSS:

table.fixed-bar{
      box-shadow:#0C0 0.1em 0.2em 0.5em 0.1em;
    border-radius: 8px;
    position: fixed; 
    top: 0; 
    width: 100%; 
    left: 0; 
    clear: both;

}
table.tab1{
     border-radius: 8px;
    box-shadow:#0C0 0.1em 0.2em 0.5em 0.1em;  

}

感谢。

3 个答案:

答案 0 :(得分:2)

您应该.fixed-bar更高z-index

.fixed-bar { z-index: 1000; }

答案 1 :(得分:1)

您没有为固定位置元素分配背景。

尝试给它一个背景颜色,它不应该是透明的。

background:#fff; 

解决方案:

http://jsfiddle.net/8T2zt/

答案 2 :(得分:1)

我必须同时拥有z-index属性,赋予它高值并设置背景属性。