边框导航右边框双倍像素问题
2016-03-25 18:39
609 查看
看似很简单的导航,仅仅就是几条边框,但是真正写起来却遇到了麻烦,导航的中间项边框会是双倍像素。在别人的帮助下,写出了两种解决方法,其实都是一样的,利用了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>
第一种方法:利用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>
相关文章推荐
- Web布局连载——两栏固定布局(五)
- [div+css]晒晒最新制作专题推广页模板
- 盒子模型
- CSS选择器
- CSS样式优先权
- [css] line-height 百分比单位和数值单位的区别
- Apple官网研究之使用Justify布局导航
- 设计更快的网页(三):字体和 CSS 调整
- 纯CSS制作的新闻网站中的文章列表
- 10条影响CSS渲染速度的写法与使用建议第1/3页
- BS项目中的CSS架构_仅加载自己需要的CSS
- 很不错的 CSS Hack 又学了一招
- 发一个css比较清爽的写法
- CSS expression控制图片自动缩放效果代码[兼容 IE,Firefox]
- css布局网页水平居中常用方法
- CSS经典技巧十则第1/2页
- css 兼容性问题this.style.cursor=''hand''
- IE6不能正常解析CSS文件问题的解决方法及原因分析
- 欲练CSS ,必先解决IE的一些细节分析
- CSS文字截取功能实现代码