zoukankan      html  css  js  c++  java
  • [兼容]——IE 8 常见兼容性问题

    接触了一个PC端网页开发的项目,要求兼容到IE 8,遇到不少坑,在这里记录下:

    1、IE8 的兼容性视图

    bug描述:IE8有许多新更新,但微软为了兼容以前的IE浏览器,提出了“兼容性视图”的概念,它可以使用低版本IE(6、7)内核,显然这并不是我们想要的,所以需要使用meta标签来强制IE8使用最新的内核渲染页面

    bug解决:

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    2、display:inline-block不支持

    bug描述:在IE8 中,使用display: inline-block没有预期效果。

    bug解决:

    
    div {
        display: inline-block;
        *display: inline;
        zoom: 1;
    }
    
    

    3、line-height 异常

    bug描述:我们经常使用line-height来使单行文本垂直居中,但此方法在IE8 中有异常表现,具体为:一是IE8 不支持此方法,二是当我们使用hack后,元素不能完全垂直居中

    bug解决:

    
    div {
         200px;
        height: 40px;
        line-height: 40px;
        line-height: 38px9;    // IE8 hack方法,有像素偏差
    }
    
    

    4、max-width

    bug描述:我常在开发中使用 max-width来限制元素的最大宽度,但有时候并不奏效,慢慢摸索才明白IE解析max-width的规则:严格要求父级元素是固定的。

    bug解决:给直接父元素写上 width属性

    5、placeholder

    详见:【bug】—— IE 8-不支持 placeholder 解决方法

    6、background-size: cover

    bug描述:如果你想使用background-size: cover设置全屏背景,很遗憾IE8办不到...但可以使用IE独有的AlphaImageLoader滤镜来实现

    bug解决:

    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=Enabled, sizingMethod=Size , src=URL)

    将sizingMethod设置为scale就OK了。还没完,如果你在此背景之上放置了链接,那这个链接是无法点击的。一般情况下的解决办法是为链接或按钮添加position:relative使其相对浮动。

    7、clearfix

    
    .clearfix:before,
    .clearfix:after {
        content: " "; /* 1 */
        display: table; /* 2 */
    }
    
    .clearfix:after {
        clear: both;
    }
    
    .clearfix {
        *zoom: 1;
    }
    
    

    8、美化input选择文件框

    html:

    <div class="wrap">
       <img  src="xxx" alt="">
       <input accept="image/jpeg,image/jpg,image/png">
                                           
    </div>
    
    
    
    .wrap {
         190px;
        min-height: 100px;
        display: inline-block;
        position: relative;
    }
    .warp img {
            position: absolute;
            top:0;
            left: 0;
             100%;
            height: 100%;
        }
    .wrap input {
         100%!important;
        height: 100%!important;
        position: absolute;
        top:0;
        left: 0;
        font-size: 200px; // 解决IE8 - 下input高度撑不开的bug
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    }
    
  • 相关阅读:
    Could not autowire. No beans of 'TbItemMapper' type found. less... (Ctrl+F1) Checks autowiring prob
    使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
    IntelliJ IDEA Ultimate 下载与安装
    Android Studio 下载与安装配置
    MySQL Community Server 8.0.11下载与安装配置
    Eclipse EE下载安装与配置
    Tomcat 下载安装与配置
    篮球术语
    GPU对数据的操作不可累加
    经典把妹桥段:Flower dance开头对话
  • 原文地址:https://www.cnblogs.com/fayin/p/6687625.html
Copyright © 2011-2022 走看看