• png-24在ie6中的几种透明方法


    下面介绍几种常用的解决办法:

    dd_belatedpng.js

    引入js文件

    <!--[if IE 6]>
    <script type="text/javascript" src="js/dd_belatedpng.js"></script>
    <script>
        DD_belatedPNG.fix('.pngfix');
    </script>
    <![endif]-->

    然后对需要进行ie6下透明的元素进行class标注。

    特点是在很大程度上能解决png-24的透明问题,但是也有几个问题比较明显。

    1. 需要引入js文件。

    2. 他会动态在png-24图像上包裹一层css为position:relative;的元素,使原有的position:absolute;的元素消失不见或出现其它意想不到的bug。

    解决办法:在png-24的图像上再添加一层position:relative;的dom元素,或者不使用绝对定位或使用其它办法。

    ie滤镜法

    js办法失效后,可以用这种办法使图片透明。

    background:url(/images/game_box.png) 0 0 no-repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/game_box.png',sizingMethod='crop');

      当然这种办法的缺点:

    1. 滤镜的性能问题一直是ie浏览器的一个瓶颈。
    2. background-position 无法实现。

    图片替换法

    在不要求图片背景滚动的情况下,可以在高级浏览器里边使用png-24的图片,然后用截图工具抓取需要透明的区域,然后直接使用截图后的图片。

    这种方法的优点是没有兼容性问题,而且在保证图片大小的情况下能正常显示,缺点就是操作比较复杂,而且截图也会使图片的颜色信息造成部分遗失。

    浏览器区分法

    还有一种办法是用js判断是ie6浏览后,添加不同的图片。根据浏览器的不同来使用不同的图片。

    这个办法使用于,用户市场比较成熟的产品或界面,不考虑低端ie6浏览器使用者,但也保证在浏览器下能正常显示,只是图片的质量稍为差点罢了。

    以上几种方法在 ro官网中都有深刻的体现。

    From: 图片格式与设计那点事

  • 相关阅读:
    深入MySQL(一):MySQL的组织架构
    使用graalvm nativeimage 快速暴露jar 代码为native 共享库
    SQL注入__布尔盲注和时间盲注 菜鸟
    linux网络配置,无法解析或者打开软件包列表
    django入门视图
    三.面试题
    select,poll,epoll的区别以及使用方法
    Linux从入门到入坑
    品味Spring Cache设计之美
    JAVA_基础篇(1)_JDK 8 的下载、安装与配置
  • 原文地址:https://www.cnblogs.com/Better-Me/p/4692740.html
Copyright © 2020-2023  润新知