边框导航右边框双倍像素问题

看似很简单的导航,仅仅就是几条边框,但是真正写起来却遇到了麻烦,导航的中间项边框会是双倍像素。在别人的帮助下,写出了两种解决方法,其实都是一样的,利用了margin-left负值。以下为两种方法代码。

第一种方法:利用padding-left将父级向右偏移几px,在子级下用margin-left负值向左偏移相同的几px。a元素hover的时候要提升层级。

css部分:
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 402px;
            margin: 0 auto;
            overflow: hidden;
        }
        .subBox{
             padding-left: 2px; 
        }
        .list{
            float: left;
            width: 98px;
            border: 2px solid #333;
             margin-left: -2px;
        }
        .list:hover{
          position: relative;
            z-index: 1;
            border-color: #ff0000;
        }
 
html部分:
<div class="box">
    <div class="subBox">
        <div class="list">导航第一项</div>
        <div class="list">导航第二项</div>
        <div class="list">导航第三项</div>
        <div class="list">导航第四项</div>
    </div>
</div>

第二种方法:直接将父级的每项利用margin-left负值向左偏移,同样a元素hover时要提升层级。

代码如下:

css部分:

ul,body{margin:0;padding:0;}
.list{width: 960px;
margin: 80px auto 0px;
}
li{list-style:none; float:left; margin-left:-2px;}
a{text-decoration:none;}

.list a{display:block;float:left;padding:0 16px;height:40px;line-height:40px;font-size:14px;color:#00f;position: relative;border:2px solid #f09;}
.list a:hover{border-color:#000;position: relative; z-index:1;} 

html部分:

<ul class="list">
<li><a href="#">关于我们</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">如何购买</a></li>
<li><a href="#">下载中心</a></li>
<li><a href="#">联系我们</a></li>
</ul>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值