• 前端笔记-201805


    1、实现视频flash时,swf文件在google浏览器提示下载,使用object标签可以解决该兼容问题,但是不兼容ie8

    <object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。

    <object type="application/x-shockwave-flash" id="VideoPlayer" name="VideoPlayer" align="middle" 
    data
    ="//cc.res.netease.com/act/webPlayer/webcc/stoneSwf/ClientLoader.swf..." width="100%" height="100%"> <param name="base" value="."> <param name="wmode" value="transparent"> <param name="quality" value="high"> <param name="bgcolor" value="#000000"> <param name="allowfullscreen" value="true"> <param name="allowFullScreenInteractive" value="true"> <param name="allowscriptaccess" value="always"> <param name="flashvars" value=""> </object>

    2、IE9下实现兼容rgba

    参考:https://segmentfault.com/a/1190000002485299

    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            .box {
                background: rgba(0,0,0,.5);
                color: #fff;
                width: 200px;
                height: 200px;
            }
        </style>
        <!-- ie9以下版本可识别 -->
        <!--[if lt IE 9]>
           <style>
           .box {
               filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);
            }
            </style>
        <![endif]-->
    </head>
    <body>
        <div class="box">aaa</div>
    </body>

    #7f000000,第一部分是#号后面的7f是rgba透明度0.5的IEfilter值。从0.1到0.9每个数字对应一个IEfilter值。对应关系如下:

    第二部分是#7f后面的六位000000,这个是六进制的颜色值。要跟rgb函数中的取值对应。rgb(0,0,0)对应#000000,都是黑色。

    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            .box {
                background: rgba(0,0,0,.5);
                color: #fff;
                width: 200px;
                height: 200px;
                filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);
            }
        </style>
    </head>
    <body>
        <div class="box">aaa</div>
    </body>

     IE9同时支持RGBA和filter,导致两个重叠,透明效果变差

    3、ie9以下不支持css中的:nth-child和:last-child选择器

      

    ie8支持css中的:first-child选择器,但是不支持:nth-child和:last-child选择器

    解决办法:

    a)换用其它选择器如相邻兄弟选择器+,个人感觉不太实用

    b)通过js控制样式,取代css中的:nth-child和:last-child选择器

     在引用jQuery时,引用高版本的Jq会在IE8下报错,jq在2.0+的版本就已经放弃对ie8的支持了。详见https://jquery.com/browser-support/

    jQuery-2.0.0只有addEventListener(IE8不支持这个方法),IE8下添加事件监听需要用attachEvent。jQuery-1.x.x做了对addEventListener的判断,不支持的话使用attachEvent。除了attachEvent,高版本jquery在ie8下有其它兼容问题。如果需要支持低版本浏览器,官方推荐使用jQuery-1.12.x。

    <body>
        <ul class="list clearfix">
            <li class="item">aaa</li>
            <li class="item">bbb</li>
            <li class="item">ccc</li>
            <li class="item">aaa</li>
            <li class="item">bbb</li>
            <li class="item">ccc</li>
        </ul>
        <!-- 引用高版本的Jq会在IE8下报错,jq在2.0+版本就已经放弃对ie8的支持了 -->
        <!-- <script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script> -->
        <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
        <script>
            $('.list .item:nth-child(-n+3)').css('margin-bottom', 20);
            $('.list .item:nth-child(3n+1)').css('margin-left', 0);
        </script>
    </body>

    4、swiper3是专门针对移动端写的。如果想兼容IE8的话,应该引入swiper2。

  • 相关阅读:
    [数据结构]直接插入排序
    隐藏小程序scroll-view组件的滚动条
    当 uni-app 遇见 vscode
    npm(你怕吗) 全局安装与本地安装、开发依赖和生产依赖
    Vue-resource的使用
    spy-debugger调试、抓包工具
    一个小时学会Git
    flex布局踩过的坑
    Html5移动端布局及(rem布局)页面自适应布局详解
    使用vscode自动编译less
  • 原文地址:https://www.cnblogs.com/colorful-coco/p/9059986.html
Copyright © 2020-2023  润新知