zoukankan      html  css  js  c++  java
  • 兼容IE的内阴影和外阴影效果

    关于阴影这个效果,IE和W3C都有实现的代码,但效果却不统一(以W3C的效果为主)。

    W3C实现代码:box-shadow: 水平偏移 垂直偏移 阴影模糊值 阴影外延值 insert(是否内阴影);

    IE的阴影实现代码:progid:DXImageTransform.Microsoft.Shadow(color=颜色, direction=角度, strength=阴影强度);

    但IE的阴影看起来有点恶心,而且还不可以设置模糊值。可以点击这里查看

    所以,要想效果跟W3C的效果接近,可以利用IE滤镜的模糊效果达到

    IE的模糊效果实现代码:filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=7); 

    实现原理是新建一个层,加模糊效果作为阴影,实现如下:

     

    外阴影:

    .outer{
        position:relative;
        font-size:0;
        width:182px;
        height:137px;
        margin:0 0 50px 5px;
    }
    .outer .w3cShadow {
        position:relative;
        border:1px solid #000;
        box-shadow: 0 0 10px #000000;
    }
    .outer .ieShadow{
        display:none;
        display:block\9;
        background:#000\9;
        /* ie78 通过定位自适应宽高 */
        position:absolute;
        left:-5px;
        top:-5px;
        right:5px;
        bottom:5px;
        /* ie6 需要指定宽高 */
        _width:182px;
        _height:137px;
        filter:progid:dXImageTransform.Microsoft.blur(pixelradius=5);
        /* for ie8 标准模式 */
        -ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
    }
    <div class="outer">
        <div class="ieShadow"><!--利用IE滤镜模糊效果模拟阴影--></div>
        <div class="w3cShadow">
            <img src="../images/rose.jpg" width="180" height="135">
        </div>
    </div>

    效果图:

    内阴影:

    .inner{
        position:relative;
        width:182px;
        font-size:14px;
        margin:0 0 50px 5px;
    }
    .inner .w3cShadow {
        position:relative;
        background:#000\9;
        padding:10px;
        border:1px solid #000;
        box-shadow: 0 0 10px #000000 inset;
    }
    .inner .ieShadow{
        display:none;
        display:block\9;
        background:#fff\9;
        /* ie78 通过定位自适应宽高 */
        position:absolute;
        left:-5px;
        top:-5px;
        right:5px;
        bottom:5px;
        /* ie6 需要指定宽高 */
        _left:-15px;
        _width:180px;
        _height:132px;
        filter:progid:dXImageTransform.Microsoft.blur(pixelradius=5);
        /* for ie8 标准模式 */
        -ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=5)";
    }
    
    .inner .content{ 
        position:relative; 
        z-index:1;
    } 
    <div class="inner">
        <div class="w3cShadow">
            <div class="ieShadow"><!--利用IE滤镜模糊效果模拟阴影--></div>
            <div class="content">
                我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影
            </div>
        </div>
    </div>

    效果图:

    我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影我是内阴影

    文章正文已结束,感谢阅读。如果本文对您有所帮助,请点击推荐一下。

    如果对本文有何建议或疑问请留言或加群讨论,前端开发交流群(75701468)

    文章属于原创,如需转载请注明文章来源,不胜感激。

    文章地址:http://www.cnblogs.com/leolai/archive/2013/01/25/2877069.html

    蜂众网,广州蜂众网,瀑布流

  • 相关阅读:
    iOS开发之UIWebView自动滑动到顶部-备
    Android开发者须知的几种APP加密方式--备
    UITableView 小节-备
    判断字符串是否为数字-备
    关于iOS上的对象映射公用方法-备
    嵌入式开发之项目---uboot 内存合集
    多媒体开发之---h.264 SPS PPS解析源代码,C实现一以及nal分析器
    YUV视频格式到RGB32格式转换的速度优化 上篇
    多媒体开发之---音视频解码 视频回调的空转陷阱
    收集的网络上大型的开源图像处理软件代码(提供下载链接)
  • 原文地址:https://www.cnblogs.com/leolai/p/2877069.html
Copyright © 2011-2022 走看看