0

请查看我的 CSS 选项卡菜单:http: //jsfiddle.net/NoGo/3Spru/

它使用 YAML 4 CSS 框架形式 yaml.de(2019 年编辑:不再积极开发)

标签是: 主页 | 用户 | 地图

我的 HTML:

<nav>
    <div class="ym-wrapper">
        <div class="ym-wbox">
            <ul>
                <li>
                    <a href="#">
                        <div>Home <i class="icon-home"></i></div>
                        <span>Go to Main Page</span>
                    </a>
                </li>
                <li class="active">
                    <a href="#" class="">
                        <div>Users <i class="icon-search"></i></div>
                        <span>Search User Accounts</span>
                    </a>
                </li>
                <li>
                    <a href="#">
                        <div>Map <i class="icon-globe"></i></div>
                        <span>Users near you</span>
                    </a>
                </li>
            </ul>
        </div>
        <div class="ym-clearfix"></div>
    </div>
</nav>

CSS:

header nav {
    clear: both;
    width:100%;
    position:relative;
    white-space: nowrap;
    padding-top:10px;
    border-bottom: 2px solid #CA278C;
}
header nav ul {
    list-style: none;
    padding:0;
    margin:0;
    display:inline;
}
header nav ul li {
    display: inline-block;
    border-top: 2px solid transparent;
    margin: 0 5px -2px 0;
    background-color: #f0f0f0;
    border-bottom: 2px solid #CA278C;
    line-height: 180%;
}
header nav ul li.active,
header nav ul li:hover {
    border-top: 2px solid #CA278C;
    border-bottom: 2px solid #fff;
    background-color: #fff;
}
header nav ul li.active {
    border-right: 2px solid #CA278C;
    border-left: 2px solid #CA278C;
}
header nav ul li a {
    display: inline-block;
    padding: 5px 16px;
}
header nav ul li a div {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
}
header nav ul li a span {
    font-size: 11px;
    color: #999
}
header nav [class^="icon-"],
header nav [class*=" icon-"] {
    vertical-align: baseline;
    line-height: inherit;
    opacity: 0.7;
}

我的问题:当我更改浏览器缩放时,底线看起来很丑。有没有比使用元素更好的margin-bottom: -2px方法li

4

1 回答 1

0

通过使用亚像素定位并分别设置margin-bottomborder-width-1.5px和,我可以让它看起来好多了1.5px。它在这里看起来很好jsFiddle- 只需很少的努力 - 在100%接近的某个地方200%,您可能会通过进一步向下亚像素渲染路径使其在其他缩放级别看起来更好。

但是后来我突然意识到,您实际上并不需要在非活动选项卡上设置底部边框,只需将margin-bottom选项卡上的设置为0px,然后将margin-bottomat.active:hover类设置为-2px。这将自动在任何缩放级别上看起来都很好,因为您根本不必担心“排列线条”。这是jsFiddle这种方法的一个。

header nav ul li {
  display: inline-block;
  margin: 0 5px 0 0;
  border-top: 2px solid transparent;
  background-color: #f0f0f0;
  line-height: 180%;
  position: relative;
}
header nav ul li.active,
header nav ul li:hover {
  border-top: 2px solid #CA278C;
  border-bottom: 2px solid #FFF;
  background-color: #fff;
  margin-bottom: -2px;    
}
于 2013-05-07T00:03:03.043 回答