【发布时间】:2016-01-16 19:03:16
【问题描述】:
我想制作一个带有无序列表和表示栏元素的列表项的水平导航栏:
我为每个元素使用了 25% 的宽度,以便它们完全适合 bar 和 box-shadow 以在每个列表项周围创建边框,因为如果我决定使用边框,元素将不适合里面酒吧:
#bar {
margin: auto;
width: 50%;
height: 30px;
padding: 0;
background: lightgrey;
text-align: center;
}
.foo {
line-height: 30px;
float: left;
width: 25%;
list-style: none;
box-shadow: 0 0 0 1pt black;
}
<ul id="bar">
<li class="foo">Foo 1</li>
<li class="foo">Foo 2</li>
<li class="foo">Foo 3</li>
<li class="foo">Foo 4</li>
</ul>
但是,因为每个元素之间有两个阴影,所以它们之间的阴影厚了两倍。
有没有办法以某种方式合并这些阴影?
我尝试了border-collapse:collapse,但并没有改变任何事情。 我还想避免使用大纲,因为我想进一步设置此菜单的样式。
【问题讨论】:
-
如果您只需要针对现代浏览器,您可以查看
calc()。这将允许您将每个项目的宽度设置为25% - 1pt作为边框。然后你可以使用负边距来折叠内边框。