1

我想在菜单元素之间添加一个空白,但遇到了一个奇怪的问题。看到这个 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;
}

我不知道为什么左边的边界对角线。有谁知道?

4

2 回答 2

8

边框像这样聚集在一起:

||
||______
|/______

您应该使用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;
}

如果您需要一条白线,请考虑使用: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;
}
于 2013-08-08T15:18:45.797 回答
0

这是因为它正在绘制两个边框的角。尝试将底部边框更改为白色以外的其他内容,您会更清楚地看到它在做什么。

要摆脱这种影响,您需要摆脱底部边框。

如果您需要底部边框当前给您的间隙,您可以使用padding-bottomormargin-bottom代替。

于 2013-08-08T15:18:25.057 回答