html - 如何防止无序列表中列表元素的边界重叠

标签 html css

因此,我通过 float 无序列表的列表元素创建了一个水平导航栏。它工作正常,但在两个列表元素与两个边框相交的地方形成了所需厚度的两倍。有办法解决吗?

尝试的一种解决方案: 我可以指定单个列表元素的左右边框属性,但这种方法的可扩展性似乎不高,但它确实有效。

您可以在这里查看我的代码和演示 http://jsfiddle.net/mscpg/ 或检查下面的代码

CSS

  #navigation_bar {
            overflow: hidden;
            list-style-type: none;
            width: 100%;
        }
            #navigation_bar li {
                text-align: center;
                float: left;
                width: 33%;
                border-style: solid;
                border-width: 1px;
                border-color: black;
            }

HTML

<ul id="navigation_bar">
    <li>Projection</li>
    <li>Real-Time</li>
    <li>Cleanup</li>
</ul>

最佳答案

一个解决方案是:

#navigation_bar li {
    border: 1px solid black;
    border-left-width: 0;
}

#navigation_bar li:first-child {
    border-left-width: 1px;
}

现场演示: http://jsfiddle.net/mscpg/3/

关于html - 如何防止无序列表中列表元素的边界重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698093/

相关文章:

html - 将图像拖放到网页中并使用 HTML 文件 API 自动调整它们的大小

html - 隐藏元素 bootstrap 4.1

javascript - 在第一行有 rowspan 的情况下,在表格的第一行设置 css 样式 - 多表

html - 你如何使图像闪烁?

html - bootstrap3 中的绝对位置元素 - 强制宽度与容器相同

html - IE9相邻图片重叠/出现在弹窗图片中

html - 主体高度未填充 100% 页面高度

html - CSS - 跨浏览器导航 Div 大小

html - 我们可以在标题标签中居中对齐文本吗?

html - Chrome 浏览器上的奇怪边框