inline-block的兼容bug

我们知道inline-block可以代替float,避免清除浮动等一系列不必要的麻烦。
但是inline-block也有他自身的缺陷,在IE6,IE7下也不兼容。
我们先说说他自身的缺陷。
先看如下代码

<style>
        *{
            padding: 0;
            margin: 0;
        }
        body{
            background: #142131;
        }
        .main{
            width: 980px;
            height: 96px;
            margin: 100px auto;
            background: #f7f7f7;
        }
        .page{
            width: 25%;
            height: 96px;
            display: inline-block;
            line-height: 96px;
            text-align: center;
            color: #ffffff;
            font-size: 28px;
        }
        .page1{
            background: orangered;
        }
        .page2{
            background: #0e5280;
        }
        .page3{
            background: #247ee0;
        }
        .page4{
            background: #009300;
        }
    </style>
 <div class="main">
        <div class="page page1">page1</div>
        <div class="page page2">page2</div>
        <div class="page page3">page3</div>
        <div class="page page4">page4</div>
 </div>

运行的结果会呈现如下结果:


运行结果

我们会发现并不是我们想要的结果,他并没有在一行显示,在右边会有默认的右边距。这是html换行引起的,现在我们改变html的书写结构:


改变html的书写结构
再看他现在的显示:
修改后显示

我们发现page1和page2之间的间距不见了。这样是能解决间距问题,但同时给我们带的是html代码结构层次不够清晰,有没有其他方法解决呢?
当然有。
我们给他们的父级main设置font-size:0即可解决,也不用在改变html代码结构。因为font-size属性是可以继承的,所以在给父级设置font-size:0后,他本身要重新定义设置font-size值。


解决bug之后
兼容性:IE6、IE7不识别inline-block但可以触发块元素,其它主流浏览器均支持inline-block。
在ie7下呈现:
在ie7下呈现
要兼容如何解决他呢?
在page中定义如下属性即可解决。
{
 display: inline;
    zoom: 1;
}

以上。
(注:前端开发,细碎繁杂。开这个专栏,仅仅是想把我平时工作学习中遇到的问题,给它记录下来,并没有做归纳梳理,所以不会那么详实连贯。大神大牛,请绕道。如果对你真有帮助,不吝赐我我一颗红心,或者赏我一颗糖吃,我也会满心笑纳,手动笑~~~)

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

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,340评论 1 92
  • CSS格式化排版 1、字体 我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性。下面我们来看一个例...
    张文靖同学阅读 1,406评论 0 3
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,763评论 0 30
  • 简介网络浏览器很可能是使用最广的软件。在这篇入门文章中,我将会介绍它们的幕后工作原理。我们会了解到,从您在地址栏输...
    wengjq阅读 2,389评论 2 15
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,492评论 0 5

友情链接更多精彩内容