遇到的兼容性问题

在chrome浏览器下调好的页面在ie8中运行出现的兼容性问题:
1、原页面使用echarts绘制图形在chrome浏览器只引用echarts.js能够正常显示,但在ie8下报错:
{//IE中使用VML渲染 if (!painterCtors.vml) { throw new Error(
‘You need to require \’zrender/vml/vml\’ to support IE8’); }
解决:引入zrender包

packages: [ 
            {
                name: 'echarts',
                location: 'echarts/src',      
                main: 'echarts'
            },
            {
                name: 'zrender',
                location: 'zrender/src', // zrender与echarts在同一级目录
                main: 'zrender'
            }
        ]

绘图部分:

var labelTop = {//上层样式
                normal : {
                    label : {
                        show : true,
                        position : 'center',
                        formatter : '{b}分',
                        textStyle: {
                            fontSize:30
                        }
                    },
                    labelLine : {
                        show : false
                    }
                }
            };
        var score=90;
        option = {
            color:['#3399ff', 'white'] , 
            series: [
                {
                    name:'绩效打分',
                    type:'pie',
                    radius: ['70%', '90%'],
                    hoverAnimation:false,
                    avoidLabelOverlap: false,
                    label: {
                        normal: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            show: false,
                        }
                    },
                    labelLine: {
                        normal: {
                            show: false
                        }
                    },
                    data:[
                        {value:score, name:score,itemStyle : labelTop},
                        {value:100-score, name:'未得分'}
                    ]
                }
            ]
        };
        require(
            [
                'echarts',
                'echarts/chart/pie'
            ],
            function (ec) {
                var myChart = ec.init(document.getElementById('circlebar'));
                myChart.setOption(option);
            }
        )

这样在ie8中就能够正常显示啦~
2、flex布局失效
代码中写了flex布局使一横排显示的几个方框间距能够自适应(设置父元素displaly:flex;justify-content:space-between)但在ie8下失效。
解决:float和clear both的妙用,实现flex布局

html部分:
<div class="dfcont dclearfix">
    <div class="dfleft">
        左边框的内容
    </div>
    <div class="dfright">
        右边框的内容
    </div>
   <div class="dfmiddle">
       <div class="innermiddle">
       中间框的内容
       </div>
   </div>
</div>
css部分:
.dfleft{
    float:left;
    padding:12px;
 }
.dfright{
    float:right;
    padding:12px;
 }
.dfmiddle{
    margin:0 /*左右margin具体计算用百分比即可保证响应式*/;
    overflow:hidden;
 }
.dclearfix{*zoom:1;}
.dclearfix:after{
    content:"";
    display:block;
    clear:both;
 }
.innermiddle{
    overflow:hidden;
 }

3、placeholder失效:

/* ie8,9 placeholder兼容 */
        if( !('placeholder' in document.createElement('input')) ){   
            $('input[placeholder],textarea[placeholder]').each(function(){    
              var that = $(this),    
              text= that.attr('placeholder');    
              if(that.val()===""){    
                that.val(text).addClass('placeholder');    
              }    
              that.focus(function(){    
                if(that.val()===text){    
                  that.val("").removeClass('placeholder');    
                }    
              })    
              .blur(function(){    
                if(that.val()===""){    
                  that.val(text).addClass('placeholder');    
                }    
              })    
              .closest('form').submit(function(){    
                if(that.val() === text){    
                  that.val('');    
                }    
              });    
            });    
        } 

4、圆角失效:重写各框border-redius
5、bootstrap条纹进度条效果失效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sticky模式是一种在网页或应用程序中常见的效果,它可以使元素固定在页面的特定位置,无论滚动页面时该元素是否可见。然而,在iOS设备上,存在一些兼容问题需要注意。 第一个兼容问题是页面元素的容器是否支持sticky定位。在一些旧版本的iOS设备上,容器元素如果使用了transform属或position属为fixed时,sticky定位会失效。因此,在开发过程中,我们应尽量避免在容器元素上使用这些属,以确保sticky定位的正常运行。 第二个兼容问题是滚动容器的滚动方式。在某些iOS设备上,当滚动容器(例如overflow属设置为scroll或auto的元素)内部的内容过多时,sticky元素可能会出现跳动或抖动的问题。这是因为滚动容器的滚动方式与浏览器的渲染方式有关。为了避免这个问题,我们可以尝试将滚动容器的滚动方式设置为transform或will-change属。 第三个兼容问题是触摸事件处理。在一些iOS设备上,滚动容器内部的sticky元素可能无法正确响应触摸事件,导致无法正常交互。这个问题可能与iOS设备的触摸事件处理机制有关,但我们可以尝试通过修改CSS代码或使用JavaScript来处理这个问题。 总的来说,sticky兼容问题主要集中在iOS设备上。在开发过程中,我们需要注意容器元素的属、滚动容器的滚动方式以及触摸事件的处理,以确保sticky定位在iOS设备上的正常运行。如果遇到兼容问题,我们可以尝试使用其他定位方式或通过修改代码来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值