请查看我的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
更好的方法?
答案 0 :(得分:0)
使用subpixel positioning并将margin-bottom
和border-width
分别设置为-1.5px
和1.5px
,我可以让它看起来更好看。它looks fine here at jsFiddle - 只需很少的努力 - 在100%
到200%
附近的某个地方,你可以通过进一步沿着子像素渲染路径在其他缩放级别上看起来更好。
然后我突然意识到你并不需要在非活动标签上设置底部边框,只需将标签上的margin-bottom
设置为0px
然后设置{{1在margin-bottom
和.active
类到:hover
。这将在任何缩放级别上自动显示,因为您根本不必担心“排队”。这种方法Here's a jsFiddle。
-2px