• IE6、7 不支持display:inline-block的问题


    经常遇到此类问题,解决的办法从来都是网上找css解决方案,拷贝粘贴,能用就行,从未细想。

    今天整理出来。

    先看两段结构:

    <!--内联元素 -->
        <div class="menu_1">
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            
        </div>
        
        <!--块元素-->
        <div class="menu_2">
            <p>块元1素</p>
            <p>块元素100</p>
            <p>块元素</p>
            <p>块元素</p>
            <p>块元素1000</p>
            <p>块元素</p>
            <p>块元素</p>
        </div>

    问题来了:要产生display:inline-block的 元素,可能是内联元素,也可能是块元素。

    1,内联元素。应用样式:

    .menu_1{ height:30px; background:#ffc; width:380px;}
    .menu_1 a{ background:#0CF; margin-left:10px; display:inline-block;}

    IE6,7 都可以正常显示display:inline-block效果。  

    所以,如果是内联元素,解决方法:直接加 display:inline-block;

    2,块元素。应用样式:

    .menu_2{ width:430px; height:30px; background:#ccc;}
    .menu_2 p{ background:#f00; margin-left:5px; display:inline-block; _zoom:1;}
    .menu_2 p{*display:inline;}

    IE6,7 都可以正常显示display:inline-block效果。 

    所以,如果是块元素,解决方法:

    先给元素加   display:inline-block; _zoom:1;  

    再给元素加   *display:inline;

    【注意:】要写两个display,且两个不能写在一个括号里,这是IE的一个bug.

    附完整代码,供测试用:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>dispaly:inline-block</title>
    <style type="text/css">
        .menu_1{ height:30px; background:#ffc; width:380px;}
        .menu_1 a{ background:#0CF; margin-left:10px;}
        
    
        .menu_2{ width:430px; height:30px; background:#ccc;}
        .menu_2 p{ background:#f00; margin-left:5px; display:inline-block; _zoom:1;}
        .menu_2 p{*display:inline;}
    </style>
    </head>
    
    <body>
        <!--内联元素 -->
        <div class="menu_1">
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            <a href="#">内联元素</a>
            
        </div>
        
        <!--块元素-->
        <div class="menu_2">
            <p>块元1素</p>
            <p>块元素100</p>
            <p>块元素</p>
            <p>块元素</p>
            <p>块元素1000</p>
            <p>块元素</p>
            <p>块元素</p>
        </div>
    </body>
    </html>
  • 相关阅读:
    HihoCoder1105 题外话·堆(基础二叉搜索树)
    HihoCoder1080 更为复杂的买卖房屋姿势(线段树+多重lazy)
    HihoCoder1078线段树的区间修改(线段树+lazy)
    HihoCoder1070 区间最小值(简单线段树)
    HDU3577Fast Arrangement(线段树+lazy)
    POJ2985 The k-th Largest Group (并查集+treap)
    HihoCoder1337 动态第k大(treap)
    STL的erase函数和lower_bound
    HihoCoder1329 平衡树·Splay(附STL版)
    etcd 在超大规模数据场景下的性能优化
  • 原文地址:https://www.cnblogs.com/smjia/p/3610928.html
Copyright © 2020-2023  润新知