zoukankan      html  css  js  c++  java
  • PIE使用阴影后的背景透明方法

    使用PIE后,会发现如果有设置 box-shadow 时,当前 class 样式中设置 opacity 或者背景渐变透明都会无效了,其实也是有办法解决的

    css3-container { filter:alpha(opacity=80); }
    #header-wrapper { 
        height:35px;
        background: -webkit-gradient(linear,left top,left bottom,from(rgba(68,102,113,0.9)),to(rgba(46,74,83,0.9)));
        background: -moz-linear-gradient(top, rgba(68,102,113,0.9), rgba(46,74,83,0.9));
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E6446671', endColorstr='#E62E4A53'); /* IE6,IE7 */
        -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#E6446671', endColorstr='#E62E4A53')"; /* IE8 */
        box-shadow:0 1px 3px #000;
    }

    上面这个例子中使用背景渐变透明,但因为有 box-shadow 导致透明失效,这个时候需要添加个样式

    css3-container { filter:alpha(opacity=80); }

    就可以让 IE 实现阴影的同时也能背景透明了,不过这样写有个问题就是全部的PIE兼容都会透明,所以最好的办法是有两个:


    1. css 中指定某个具体节点下的 css3-container 透明

    这个方法很多时候不好控制,主要是老版本的 IE 的选择器不好控制

    2. 通过 jQuery 动态添加样式,建议这个方法

    只需要找到当前需要兼容的 div 然后找到他的上一个 css3-container 就可以了

    例:

    $('.curr').prev('css3-container').css('filter', 'alpha(opacity=80)');

    这样就可以了


    另说明:

    对浅色如白色之类的背景透明可能效果不是很好,因为PIE的阴影会生成一个全黑的 css3-container 即时使其透明,浅背景色可能显示效果不太好吧

  • 相关阅读:
    django创建表单以及表单数据类型和属性
    Django-debug-toolbar(调试使用)
    POJ 2828 Buy Tickets
    Bsoj 1322 第K小数
    bzoj3555 企鹅QQ
    洛谷P1141 01迷宫
    NOIP2008普及组题解
    NOIP2014 day2 T2 洛谷P2296 寻找道路
    POJ2892 Tunnel Warfare
    BZOJ 3224 TYVJ 1728 普通平衡树 [Treap树模板]
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758525.html
Copyright © 2011-2022 走看看