css - 在浏览器中缩小时菜单会下降

标签 css

我正在 asp.net 3.5 上做一个网站元素。当我缩小网络浏览器上的界面时,我的菜单栏的“联系人”选项卡位于下方,“访问”选项卡的行“访问”位于下方。我该如何克服这个问题?

HTML

 <div id="nav">
                <ul>
                    <li><a href="Default.aspx">Home</a></li>
                    <li><a href="#">About us</a></li>
                    <li><a href="#">Reservation</a>
                        <ul>
                            <li><a href="Availability.aspx">Room</a></li>
                            <li><a href="#">Membership</a></li>
                            <li><a href="#">Events</a></li>

                        </ul>
                     </li>
                    <li><a href="#">Places to visit</a></li>
                    <li><a href="#">Travel</a></li>
                    <li><a href="#">Packages</a></li>
                    <li><a href="#">Gallery</a></li>
                    <li><a href="Contact.aspx">Contact us</a></li>
                </ul>
           </div>

CSS

#nav { clear:both; margin:0;
            padding:0;width:900px; height:30px;}

#nav ul { margin:0; padding:0; line-height:30px; }
#nav li { margin:0; padding:0; list-style:none; float:left;
                position:relative;
                background-color:#0066CC/*#1B6187*/;}


#nav ul li a { text-align:center;
                    font-family:Georgia;
                    text-decoration:none;
                    font-size:14px;
                    height:30px; display:block;
                    color:#FFF; width:110.5px;
                     border:1px solid #006363;
                     }
#nav ul ul { position:absolute; visibility:hidden; top:32px;}
#nav ul li:hover ul {visibility:visible;}

#nav li:hover { background:#09F;}
#nav ul li:hover ul li a:hover {background-color:#09F;
                color:#4EE6DB;}
#nav ul li ul li { background-color:#0066CC/*#1B6187*/;}

#nav a:hover { color:#000;}

.clearFloat {clear:both;}

最佳答案

发生这种情况是因为文本在缩放时不能很好地缩放:它比您预期的要大。文本迫使周围的 li 和 a 变得比您想要的更大。

我最近通过固定每个 li 的宽度(例如:width: 30px)解决了同样的问题。文本仍然会比你想要的大,但如果你使用足够的填充,它就有足够的空间来增长。

您还可以尝试将最后一列绝对置于顶部 top:0, right:0,这会变得很丑陋,因为最后一列将覆盖最后一列之前的一列

关于css - 在浏览器中缩小时菜单会下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514763/

相关文章:

css - 如何仅在 WordPress 主题中删除横幅的 img 边框?

jquery - 调整窗口大小时获取模态动态调整大小

html - 空白 : no-wrap in IE not working

html - 正文和页脚的问题

css - Bootstrap 列间距不一致

javascript - 如何更改表单中标签的颜色?

c# - 仅适用于 ie8 的复选框样式表

jquery - 是否可以将 div 的高度设置为距固定位置页脚底部的设定距离?

html - 如何连接两个div之间的水平/垂直线?

html - Internet Explorer 媒体查询在不应生效时生效