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;
        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 需要指定宽高 */
        _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;
        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;
        _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>

    
    
  • 相关阅读:
    [转]Windows管道系统
    [转]TCP连接的状态与关闭方式,及其对Server与Client的影响
    CreateProcess启动进程后,最好CloseHandle(pi.hProcess);CloseHandle(pi.hThread);
    [转]VC++ 通过进程名或进程ID获取进程句柄
    [装]解决sqlite3插入数据很慢的问题
    SublimeText3搭建go语言开发环境(windows)
    [转]完成端口(CompletionPort)详解 手把手教你玩转网络编程系列之三
    go语言疑问
    css中marginleft与left的区别
    jsp分页显示的代码与详细步骤
  • 原文地址:https://www.cnblogs.com/evablog/p/2995882.html
Copyright © 2011-2022 走看看