zoukankan      html  css  js  c++  java
  • ie9 background 不显示

    新项目 要求兼容到 ie9 及以上,因为 ie9 相对于css 新特性的支持不错,所以很少遇到需要hack 的属性。

    在登陆页 添加一个 全屏的背景图片,div 的设置如下:

    .webbox{
        width: 100%;
        height:100%;
        background:transparent url(login_bg.jpg) no-repeat center;
        background-size: cover;
    }

    然后在chrome和火狐上都是显示正常的,然而在 ie9 上 却显示不出来。这就排除了路径及写法的问题。

    background 属性 基本不存在兼容性问题,我在网上搜索了以下,基本遇到这种问题的都是 通过改变 图片的格式解决的,

    但是我把jpg、jpeg、gif、png 几种格式都试了一遍,依然不显示,所以也不是 格式的问题。

    最后发现,当把div 的height 属性修改为固定的px单位 时,可以显示。

    即 单位为 百分比的时候 ,无论值为多少,背景图片都无法显示。于是 用下列思路:

    body{
        overflow:hidden9!important; /*ie8,9 识别的*/
    }
    
    .webbox{
        width: 100%;
        height:100%;
        height:1000px9!important; /*ie8,9 识别的*/
        background:transparent url(login_bg.jpg) no-repeat center;
        background-size: cover;
    }

    加入 ie9 才能识别的 9 后缀,以及添加 !important 后缀变为最大优先级,将其他配置覆盖。

    最后图片成功出现。

    另外ie9 以下 的 div 的 宽度不包含 padding,所以设置padding时,顺便设置 box-sizing = border-box; 将宽度包含padding;

  • 相关阅读:
    好久没来博客园写博客了
    配置apache apache服务器如何配置多站点
    Discuz对不起,您安装的不是正版应用的解决办法
    解决php deprecated 的问题
    PHP乱码完美解决
    block,inline和inline-block概念和区别(转)
    C# 的各种排序
    设计模式的学习
    一些随笔
    笔记 日常的记录
  • 原文地址:https://www.cnblogs.com/RoadAspenBK/p/9513122.html
Copyright © 2011-2022 走看看