CSS实现1像素div高度兼容IE6

IE6中如果使用height:1px定义一个盒子的高度,会出现比1像素更大的误差,如果实现兼容,本文说到三种方法能够帮助你。

本文和大家重点讨论一下IE6.0下DIV不能实现1px高度的几种解决方法,高度为1px的DIV在IE6里不管用,因为IE6中的DIV默认有个最小字体高度,DIV的最小高度就是这个高度,即使设置了height:1px,DIV显示出来的高度也不是1像素。

IE6.0下DIV不能实现1px高度的几种解决方法

在设计网页时,有时我们需要一个1px高度的细线,但IE6有个bug,高度为1px的DIV在IE6里不管用。这是因为IE6中的DIV默认有个最小字体高度,DIV的最小高度就是这个高度,即使设置了height:1px,DIV显示出来的高度也不是1像素。

解决方法有如下几种:

1,网上都说多加一个font-size=0px;的属性可以实现.

以下为引用的内容:

<styletypestyletype="text/css">
.a{
font-size:0px;
height:1px;
background-color:red;
}
</style>
<DIVclassDIVclass="a"></DIV>

但经过我的测试,细是细了,但不是1px,有点像是2px.不知道是我的浏览器问题,还是别的原因.你们可以用这个方法再测试一下.

2.多加一个line-height:1px的属性,不过得在DIV里多加一个&nbsp;,也就是空格,以下为引用的内容:

<styletypestyletype="text/css">
.a{
width:200px;
height:1px;line-height:1px;
background:red;
}
</style>
<DIVclassDIVclass="a">&nbsp;</DIV>

这个方法我测试通过.很好用.如果你要做指定长度的细线,这个方法是个不错的选择.如果你的细线DIV长度是他父对象的长度的话,你可以用下面这个更简单的方法:

◆3,用border-top:1pxsolid#ff0000边框的方法制作一个细线.

以下为引用的内容:

<styletypestyletype="text/css">
.a{
border-top:1pxsolid#ff0000;
}
</style>
<DIVclassDIVclass="a"></DIV>

注意:这个方法不能加width宽这个属性. 加了以后他会有高度(虽然表面上看不到,他是透明的)要是你这个细线下面再有DIV的话,他的高度就看出来了.再多加上一个font-size:1px;可以解决这个问题.


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流