码迷,mamicode.com
首页 > 其他好文 > 详细

ie6块元素和内联元素关于display:inline-block

时间:2015-01-26 13:47:21      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

  • 大家知道在 IE6中 是不支持 display:inline-block的属性的;那我们来看下IE6中 块元素和内敛元素显示的效果和解决兼容的方法:

      

<style type="text/css">

    *{ padding: 0; margin:0;}

    body{ font-size: 14px; color: blue; font-weight: bold;  }

    div{  display: inline-block; width: 200px; height: 100px; background: #ddd}

    a{display: inline-block;width: 200px; height: 200px; background: red}

</style>

  • html如下:  //用div代表块元素 a代表内联元素 在只设置了display:inline-block下

<body>

    <div>我是div1</div>

    <div>我是div2</div>

    <a href="#">我是a1</a>

    <a href="#">我是a2</a>

</body>

如图:技术分享

我们发现 div 可以设置 宽 高,但是不能像 内联元素那样 呈递前后挨在一起 而是独占一行。

a 可以设置宽高,没有独占一行,呈现内联呈递(表象)。

  • html 结构不改变 div追加zoom:1; _display:inline;属性

    div{   display: inline-block; zoom:1; _display:inline; width: 200px; height: 100px; background: #ddd}

      a{ display: inline-block; width: 200px; height: 200px; background: red}

变化如图:

      技术分享

我们可以看到 div 具有了 inline-block 的内联呈递; _zoom:1 触发了 IE浏览器的layout,然后同时设置了 display: inline ,他的行为和标准中的 inline-block 类似!

  • 此时 css 不变,我们调一下html结构:

        <body>

            <a href="#">我是a1</a>

            <a href="#">我是a2</a>

            <div>我是div1</div>

            <div>我是div2</div>

        </body>

如图:

    技术分享

我们发现   内敛元素的 右侧 有个间距!!! 前面几个图中 a 右侧就有间距,我们调了下 结构 这样 更能表现出俩个a 标签的 右侧 都有 间距 。在标准浏览器下 也有的!

 

  • 去掉 inline-block的间距 方法 这么几种:

    去除html之间空格:

    技术分享

    用HTML注释:

               技术分享

    全掉闭合标签:技术分享设置包含元素 属性font-size:0:  //内联元素 ie6 7下会有1px的小缝隙

            技术分享        还有许多方法解决 间距问题这里就不一一介绍了!!!!!

ie6块元素和内联元素关于display:inline-block

标签:

原文地址:http://my.oschina.net/felumanman/blog/371734

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!