奇怪的CSS行为 - 对角线边框 - 为什么边框边缘不直?

Mic*_*zer 1 css border diagonal

我想在菜单元素之间添加一个白色的间隙,但我遇到了一个奇怪的问题.看到这个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;
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么左边的边界对角线.有谁知道?

kal*_*ley 7

边界像这样聚集在一起:

||
||______
|/______
Run Code Online (Sandbox Code Playgroud)

你应该使用margin-bottom而不是border-bottom 小提琴:

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;
}
Run Code Online (Sandbox Code Playgroud)

如果您需要白线,请考虑使用: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;
}
Run Code Online (Sandbox Code Playgroud)