我想在菜单元素之间添加一个白色间隙,但我遇到了一个奇怪的问题。看到这个jfiddle:http://jsfiddle.net/ERYat/1/
这是CSS代码:
/* a styling */
ul#menu-menu-services a {
display: block;
font-size: 20px;
color: #000;
text-decoration: none;
padding: 5px;
border-bottom: 2px solid #fff;
border-left-style: solid;
border-left-width: 3px;
border-left-color: #000;
}
/* li fix */
ul#menu-menu-services li {
margin: 0;
padding: 0;
border: none;
}
/* Sub Menu */
ul#menu-menu-services li ul.sub-menu {
display: block;
margin-left: 0px;
}
ul#menu-menu-services li ul.sub-menu li a {
padding-left: 15px;
font-size: 14px;
}
我无法弄清楚为什么边界对角线在左边。有人知道吗?
答案 0 :(得分:6)
Borders这样聚集在一起:
||
||______
|/______
您应该使用margin-bottom
代替border-bottom
fiddle:
ul#menu-menu-services a {
display: block;
font-family: 'Droid Sans', arial, serif;
font-size: 20px;
color: #000;
text-decoration: none;
padding: 5px;
margin-bottom: 2px;
border-left-style: solid;
border-left-width: 3px;
border-left-color: #000;
}
如果您需要白线,请考虑using :after
:
ul#menu-menu-services a { position: relative; }
ul#menu-menu-services a:after {
content: '';
width: 100%;
position: absolute;
height: 2px;
background: #fff;
left: 0;
bottom: -2px;
}
答案 1 :(得分:0)
这是因为它正在绘制两个边界的角落。尝试将底部边框更改为白色以外的其他内容,您会更清楚地看到它正在做什么。
要摆脱这种效果,你需要摆脱底部边界。
如果您需要底部边框当前给您的间隙,则可以改为使用padding-bottom
或margin-bottom
。