首页 > 代码库 > ie 和谷歌浏览器在display的边框显示不一样的解决办法
ie 和谷歌浏览器在display的边框显示不一样的解决办法
eg1:
<style>
.class2{displau:block; background-color:#e4f39e;width:150px;height:150px; border:10px solid green;}
</style>
<div class="class2">测试</div>
result:
左侧是google上运行的结果 右侧是在ie上运行的结果
在eg1上,用了display:block这个属性,在google浏览器中,display:block和border这两个属性的width值和height值会相加,即:外框是10px 乘以2(左右边框各10像素)+内框150px,总大小是10px 乘以2+150px=170px,就是宽和高都是170px;
在ie浏览器中,display:block和border这两个属性的width值和height值会重叠在一起,总大小就会是原来的大小。即宽和高都是150px;
解决的方法:
第一种:把display:block改为display:table-cell
步骤一:
<style>
.class2{displau:table-cell; background-color:#e4f39e;width:150px;height:150px; border:10px solid green;}
</style>
<div class="class2">测试2</div>
运行的结果:
google上 ie 上
在google和ie上,该模块的高度一致了,都是150px,只是宽度不同,谷歌的宽度是170px;ie的宽度是150px;所以接下来
步骤二,在最外层套一个类然后定义宽度。
eg3:
<style>
.calss1{width:150px;}
.class2{displau:table-cell; background-color:#e4f39e;width:150px;height:150px; border:10px solid green;}
</style>
<div class="class1"><div class="class2">测试3</div></div>
google浏览器上 ie浏览器上
现在在这两个浏览器上显示的是一样的呢。方法是在声明一个类。定义你想要的宽度,在这里既是150px,然后套在最外层,定义宽度就好了,高度没哟必要定义了。