html - css水平导航菜单创建了不必要的空白空间

标签 html css

我有带有 ul/li 元素的水平导航菜单。

我需要在每个 li 元素周围有 1px 边框。当 li 元素彼此靠近时,我不需要 2px 边框。 这是我的代码:

HTML:

<ul class="top_nav">
    <li class="li_h"><a href="">Home</a>
    </li>
    <li class="li_au"><a href="">About Us</a>
    </li>
    <li class="li_c"><a href="">Categories</a>
    </li>
    <li class="li_cu"><a href="">Contact Us</a>
    </li>
    <li class="li_sl"><a href="">Successfull Letters</a>
    </li>
</ul>

CSS:

.top_nav {
    list-style-type: none;
    list-style-image: none;
}
.top_nav li {
    display: inline-block;
}
.top_nav li {
    height: 71px;
    border-left: 1px solid #dfdfdf;
    border-top: 1px solid #dfdfdf;
    border-bottom: 1px solid #dfdfdf;
}
.li_h {
    width: 89px;
}
.li_au {
    width: 99px;
}
.li_c {
    width: 110px;
}
.li_cu {
    width: 106px;
}
.li_sl {
    width: 148px;
    border-right: 1px solid #dfdfdf;
}
.top_nav li a {
    text-decoration:none;
}
.top_nav li a:hover {
    color: purple;
}

这段代码根据我的需要创建边框。但是,正如您所看到的,第一个和第二个 li 元素、第二个和第三个 li 元素等之间有一些空格。我不明白这个空格从哪里来以及如何删除它?

你可以在 fiddle 中看到这个:http://jsfiddle.net/Xye3L/1/

最佳答案

解决这个问题的最好方法是在.top_nav中将font-size设置为0,这样就会像这样

.top_nav {
    list-style-type: none;
    list-style-image: none;
    font-size: 0;
}

您还应该在.top_nav li中设置字体大小,这样它就会像这样

.top_nav li {
    display: inline-block;
    height: 71px;
    border-left: 1px solid #dfdfdf;
    border-top: 1px solid #dfdxwxwfdf;
    border-bottom: 1px solid #dfdfdf;
    font-size: 16px;
}

也许这个链接会对您有所帮助,它有更多详细信息

Fighting the Space Between Inline Block Elements | CSS-Tricks


还有另一种方法可以解决这个问题,您可以轻松地在.top_nav li中添加float: left

所以会是这样的

.top_nav li {
    float: left;
    height: 71px;
    border-left: 1px solid #dfdfdf;
    border-top: 1px solid #dfdxwxwfdf;
    border-bottom: 1px solid #dfdfdf;
}

希望这对您有帮助......

关于html - css水平导航菜单创建了不必要的空白空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17320552/

相关文章:

javascript - 通过数据属性选择带有JS的元素,其中包含引号

html - 我可以为 IE 创建一个单独的样式表吗?

jquery - 从 html select 中获取值到 jQuery 以更改 css 类

css - JavaFX CSS 根属性引用未解析

样式化 Google 自定义搜索框的 CSS 问题

javascript - 使用 javascript 中的函数更新 Primefaces 组件值

html - css 位置指南

jquery - 从任何一侧调整元素的大小

css - 需要帮助垂直拉伸(stretch)背景图像

javascript - HTML 更改图像与过渡?