更改CSS高度属性会删除锚点?

时间:2010-06-10 04:36:45

标签: css navigation height

我正在为我的网站制作标准标题/导航。

我开始使用html,body元素的CSS“高度”值为100%,但这导致了错误的布局。

但是,当我将CSS高度属性从“100%”更改为“auto”时,布局是正确的,但我丢失了锚点。文本仍然存在(例如“建议”,“操作”,“主页”,帮助“)但锚点(按列表项组织)不再出现​​在导航中。我不能再点击它们了。

为什么会这样?

这是我的CSS:

html,body {
    height: auto;   /* This is the only property that I'm toggling */
    margin: 0; 
}
body {
    margin: 0;
    min-width: 978px;
    font: 12px/16px Arial, Helvetica, sans-serif;
    color: #000;
    background: #000001 url('../images/bg-body.jpg') no-repeat 50% 0;  
}
#nav {
    position: relative;
    float: left;
    margin: 0;
    padding: 0 2px 0 271px;
    list-style: none;
    background: url('../images/sep-nav.gif') no-repeat 100% 0;   
}
#nav li {
    float: left;
    padding: 11px 0 0 2px;
    height: 35px;
    width: 128px;
    line-height: 22px;
    font-size: 18px;
    text-align: center;
    background: url('../images/sep-nav.gif') no-repeat 0 -1px;
    display: inline;    
}
#nav li a {color: #FFFEFE;}
.....

这是标题HTML:

<body>
    <div id="wrapper">

        <!-- header -->
        <div id="header">

                    <!-- logo -->
                    <h1 class="logo"><a href="home">Site Name</a></h1>

                    <!-- Feedback button -->
                    <div class="feed-w1">
                    <div class="feed-w2">
                <div class="feed">
                <span class="l"><a href="#">Feedback, please</a></span><span class="r"></span>
                        </div>
                    </div>
                </div>

                <!-- Small links -->
                <div class="top-nav">
                    <ul>
                        <li><a href="#">Home</a></li>
                        <li><a href="#">Feedback</a></li>
                        <li><a href="#">Settings</a></li>
                        <li><a href="#">Help</a></li>
                        <li><a href="#">Sign out</a></li>
                    </ul>
                </div>

                <!-- Main Navigation -->
                <div class="frame">
                    <div class="holder">
                        <ul id="nav">
                            <li><a href="#">Advice</a></li>
                            <li><a href="#">Do it</a></li>
                            <li><a href="#">Your Profile</a></li>
                        </ul>
                        <!-- Search box -->
                        <div class="search-form">
                            <form action="#">
                                <fieldset>
                                    <legend class="hidden">Search Form</legend>
                                    <input class="text" type="text" value="Search" title="Search" />
                                    <input class="submit" type="submit" value="Search" />
                                </fieldset>
                            </form>
                        </div>
                    </div>
                </div>

                            </div>  
                </div>
    </body>

当html,body height属性设置为“auto”与“100%”并且它们相同时,我比较了Firebug中的计算CSS。

有人可以说明在将高度设置为“自动”时如何保留导航中的锚点?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

JMan,我在示例页面上运行代码时没有看到任何问题

一个建议 - 检查您的DOCTYPE声明

我严格使用“严格”:)(双关语)

或者

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

(我用第一个试了你的例子)

干杯,

希望您找到问题的解决方案