老师,关于兼容性的问题

老师,关于兼容性的问题

同样的代码,放进谷歌浏览器两张图片都能显示,但是放进IE11就只显示img src的代码,background-image没反应


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

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

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<style>

    .img{

        background-imageurl(/img/SKY.png);

        height200px;

        width200px;

    }

</style>

<body>

    <div>

        <img src="img\SKY.png" alt="">

    </div>

    <div class="img">


    </div>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,问题解答如下:

1、代码在谷歌测试和ie测试结果一样,如下图所示:

谷歌最新版

http://img1.sycdn.imooc.com//climg/6035aea60958720108110230.jpg

老师这边的ie也是ie11

http://img1.sycdn.imooc.com//climg/6035aeb2090039c511620444.jpg

2、ie11是支持background-image的,如下是background-image的兼容性

http://img1.sycdn.imooc.com//climg/6035af9e09e17ac211970569.jpg

绿色表示支持(兼容),红色表示不支持(不兼容)。同学以后想了解某一个样式的兼容性,可以在这个网站上查询哦。地址如下:

https://caniuse.com/#

3、因为同学所说的问题,在老师的电脑上测试都正常,都是兼容的,没有出现问题。所以考虑是同学那边的浏览器有问题,建议重装一下试一试。

另外,其实ie11官方已经停止维护了。为了ie浏览器会被淘汰,一般可以不用考虑ie兼容性了。

​祝学习愉快~

  • 慕仰7236035 提问者 #1

    我知道了,是IE11浏览器脚本设置的问题

    2021-02-24 10:37:29
好帮手慕夭夭 2021-02-23 18:36:47

同学你好,“图片上的文字”是说的图片自身有文字吗?如果是,那么可能因为图片太大,而div本身只设置了200px的宽高,所以无法显示全部。可以给背景图设置background: 100% 100% ,让它自身的100%铺满div。如果说的不是这个,可以详细描述一下,最好把图片上传上来,以便老师定位问题。

祝学习愉快~

  • 提问者 慕仰7236035 #1
    ​<!DOCTYPE html>
    <html lang="Ch">

    <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>天气</title>
    <link href="bootstrap-3.3.7-dist\css\bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="bootstrap-3.3.7-dist\css\index.css">
    <script src="bootstrap-3.3.7-dist\js\jquery.js"></script>
    <script src="bootstrap-3.3.7-dist\js\bootstrap.min.js"></script>
    </head>

    <body>
    <div class="BG container-fluid">
    <div class="row">
    <!-- 时间、环温、环湿、露点温度 -->
    <div class="row col-md-12" style="margin: 0 auto;padding-top: 10px;">
    <!-- 时间 -->
    <div class="col-md-3">
    <div class="img-rounded img text-center">
    <span class="img_content"></span>
    <div>
    <span class="img_content_week"></span><br>
    <span class="img_content_date"></span>
    </div>
    </div>
    </div>
    </div>

    CSS:
    .BG {
    background-color: #303952;
    width: 100%;
    }

    .img {
    background: url(SKY.png) no-repeat;
    padding: inherit;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    }

    .img div {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    line-height: 40px;
    }

    .img_content {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 100px;
    font-size: 60px;
    padding-right: 10px;
    }

    .img_content_week {
    color: #fff;
    font-size: 30px;
    }

    .img_content_date {
    color: #fff;
    font-size: 30px;
    }

    JS:
    var $Time = $(".img_content");
    var $week = $(".img_content_week");
    var $date = $(".img_content_date");

    setInterval(function () {
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var weekArray = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
    var week = weekArray[date.getDay()];
    var hour = date.getHours();
    var minute = date.getMinutes();
    if (minute < 10) minute = "0" + minute;
    var second = date.getSeconds();
    var time = hour + ':' + minute;
    var nyr = year +'-'+ month +'-' + day;
    $('.img_content').html(time);
    $('.img_content_week').html(week);
    $('.img_content_date').html(nyr);
    }, 1000);


    2021-02-24 08:51:56
  • 提问者 慕仰7236035 #2

    http://img1.sycdn.imooc.com//climg/6035a36209346fe806640234.jpg

    2021-02-24 08:52:55
  • 提问者 慕仰7236035 #3

    代码不变,JS和CSS都能在谷歌浏览器上渲染出来,在IE没显示图片出来,我刚开始是用background-image URL来渲染图片,后面发现IE11没反应,换了background,这是因为background-image不兼容IE11吗?

    2.以及为什么我写的时间函数为什么不能在IE11上展示出来,在谷歌却可以,这也是不兼容吗?

    2021-02-24 08:56:48
好帮手慕夭夭 2021-02-23 16:20:40

同学你好,老师这边把同学的图片改为本地的图片测试 ,只有背景图可以显示。

http://img1.sycdn.imooc.com//climg/6034b99d0972660305330387.jpg

谷歌浏览器测试结果如下:

http://img1.sycdn.imooc.com//climg/6034ba08094fe2f919200769.jpg

代码中有报错,这是因为背景图的引入路径不对,多了一个斜杠。如果同学测试时,图片文件夹和html放在了同一个目录下,那么斜杠前面加一个点,./表示当前路径下的img文件夹下面的图片。

http://img1.sycdn.imooc.com//climg/6034ba3609a7e75705270111.jpg

或者去掉前面的斜杠,也表示当前路径:

http://img1.sycdn.imooc.com//climg/6034ba7b09790f1304510083.jpg

所以这个是路径有问题,在谷歌或者ie浏览器中,都是不能显示背景图的,按照上面修改即可。

祝学习愉快~



  • 提问者 慕仰7236035 #1

    图片是不在同一根目录下的


    这是谷歌截图

    http://img1.sycdn.imooc.com//climg/6034bdee099dacab08500630.jpg

    这是IE11截图

    http://img1.sycdn.imooc.com//climg/6034be19091cf0d312690697.jpg

    2021-02-23 16:34:39
  • 提问者 慕仰7236035 #2

    换了路径,图片能显示出来了,但是图片上的文字就显示不出来,这是什么原因

    2021-02-23 16:51:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师