• 技术文章 >web前端 >css教程

    IE6下兼容问题的解决方案

    php中世界最好的语言php中世界最好的语言2018-03-22 15:46:46原创693
    这次给大家带来IE6下兼容问题的解决方案,解决IE6下兼容问题的注意事项有哪些,下面就是实战案例,一起来看一下。

    常见问题一:在Ie6下,内容会把父元素设置好的宽高撑开。计算一定要精确

    .box{width:400px;}
    .left{width:200px;height:210px;background:red;float:left}
    .right{width:200px;float:right;overflow:hidden;}
    .p{width:180px;height:180px;background:blue;padding:25px;}
    <p class="box">
     <p class="left"></p>
     <p class="right">
      <p class="p"></p>
     </p>
    </p>

    常见问题二:在IE6元素浮动,如果宽度需要内容撑开,里面块级元素的内容也要加浮动

    .box{width:400px;}
    .left{background:red;float:left;}
    .right{background:blue;float:right;}
    h3{height:30px;float:left;}
     <p class="box">
       <p class="left">
          <h3>左侧</h3>
       </p>
       <p class="right">
          <h3>右侧</h3>
       </p>
    </p>

    常见问题三:p里面不要套用p标签或者标题标签

    常见问题四:IE6下最小高度问题

    当height<19px的时候会被当作19px来处理

    解决办法:overflow:hidden

    .box{height:2px;background:red;overflow:hidden}
    <p class="box"></p>

    常见问题五:border:1px dotted; IE6不支持

    解决办法:切背景平铺

    .box{width:100px;height:100px;border:1px dotted red;margin:100px auto;}
            
    <p class="box"></p>

    常见问题六:IE6下,父元素用边框,子元素的margin会消失

    解决办法:触发父元素的haslayout;

    .box{background:red;border:1px solid red;zoom:1;
    /*padding:1px;*/}
    .p{width:200px;height:200px;background:blue;margin:100px}
    <p class="box">
     <p class="p"></p>
    </p>

    常见问题七:IE6双边距bug:横向的margin值会被放大为两倍

    解决方法:display:inline;

    .box{width:200px;height:200px;background:red;float:left;margin:100px;display:inline;}
            
    <p class="box"></p>

    常见问题八:IE6下外边距消失:当父元素的宽度和一行内容的宽度的差别>3px的时候

    IE6双边距bug:横向的margin值会被放大为两倍

    解决方法:display:inline;

    .box{float:left;border:10px solid #000;width:600px;}
    .box p{
        width:100px;height:100px;background:red;margin:20px;
        border:5px solid blue;float:left;display:inline;
    }
    <p class="box">
          <p>1</p>
          <p>2</p>
          <p>3</p>
          <p>4</p>
          <p>1</p>
          <p>2</p>
          <p>3</p>
          <p>3</p>
    </p>

    常见问题九:IE6,7下 li本身没有浮动,但是li里面的内容有浮动,每个li下边就会产生一个间距

    解决办法:

    1、给li添加 vertical-align:top

    2、给li添加浮动

    ul{width:}
    li{list-style:none;height:30px;border:1px solid #000;
    /*vertical-align:top*/;float:left;}
    a{width:100px;height:30px;float:left;background:red;}
    span{width:100px;height:30px;float:right;background:blue;}
    <ul>
        <li>
            <a href="#"></a>
            <span></span>
        </li>
        <li>
            <a href="#"></a>
            <span></span>
        </li>
        <li>
            <a href="#"></a>
            <span></span>
        </li>
        <li>
            <a href="#"></a>
            <span></span>
        </li>
        <li>
            <a href="#"></a>
            <span></span>
        </li>
    <ul>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    设置滚动条样式

    三种绝对定位元素的水平垂直居中的办法

    opacity透明度滤镜的IE兼容解决方法

    以上就是IE6下兼容问题的解决方案的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:解决方案 ie 题的
    上一篇:设置滚动条样式 下一篇:实现多背景模拟动态边框
    PHP编程就业班

    相关文章推荐

    • 深入浅析Tailwind CSS(总结分享)• 总结分享CSS设计模式知识点• 手把手教你CSS架构之SMACSS• css3怎样实现不是直角的菱形效果• css怎么降低背景透明度

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网