谈谈display:inline-block的那些事

1. inline元素的display:inline-block,

ie6的截图如下

inline元素:display:inline-block;


ie6-1.jpg
.span{
   display: inline-block;
   width: 100px;
   height: 40px;
   line-height: 40px;
   background-color: #007aff;
   text-align: center;
   font-size: 18px;
}

测试表明:IE6 中 inline 元素只要触发了 hasLayout 其表现就类似于 inline-block,这里设置 display:inline-block; 或者 zoom:1; 等其他属性值可以触发 hasLayout ,表现出来是一样的。

2)block 元素 display:inline-block

ie6截图如下:

block元素:display:inline-block;


ie6-2.jpg
.span{
   display: inline-block;
   width: 100px;
   height: 40px;
   line-height: 40px;
   background-color: #007aff;
   text-align: center;
   font-size: 18px;
}

测试表明:IE6 中 block 元素即使触发了 hasLayout 也不能具有 inline-block 元素不换行的特性。想要 block 元素支持 inline-block 元素的特性,我们可以这样做:

 .span{
   display: inline;
    *zoom:1;
   width: 100px;
   height: 40px;
   line-height: 40px;
   background-color: #007aff;
   text-align: center;
   font-size: 18px;
}

首先让 block 元素转化为 inline 元素,强制其不换行;然后通过 zoom:1 触发 hasLayout,使其可以设置宽高。修复后的 截图如下:

block元素:display:inline-block;


ie6-3.jpg

结合现代的浏览器,我们可以给出一下代码,

 .span{
    display:inline-block;
   *display: inline;
   *zoom:1;
   width: 100px;
   height: 40px;
   line-height: 40px;
   background-color: #007aff;
   text-align: center;
   font-size: 18px;
}

写到这里代码完美了么???呵呵,,你们又想多了,,这个发现在所有浏览器里,,元素使用inline-block属性会有间隙,ie6下inline元素会有间隙,截图如下:


chrome-1.jpg

ie6-4.jpg

既然有缝隙那就去掉缝隙啊。。我的做法如下:

在是有inline-block元素的父级添加:

.wrap{
  font-size:0;
  word-spacing:-1px;
}
chrome-2.jpg
ie6-5.jpg

一切正常了,想知道为什么有间隙,去掉间隙的原理,请移步这里查看更多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,109评论 1 92
  • 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能...
    卡卡西哥哥阅读 655评论 0 1
  • 这篇文章极好,以至于让我受益良多,就一字没有改动的转发过来一丝冰凉老师的文章 需要注意的是,display:tab...
    新晋小牛牛阅读 1,127评论 0 2
  • 本文转发自github, 原文地址 前端开发知识点: 作为一名前端工程师,无论工作年头长短都应该掌握的知识点: 此...
    XDUZ阅读 649评论 0 8
  • 爱情和亲情哪个重要点
    梁成睿阅读 154评论 0 0

友情链接更多精彩内容