搜索

首页  >  问答  >  正文

css3 可以实现背景虚化但是一块不虚化的效果么

大概就是这个效果 其余的区域只是opacity不是100%而已 但是有一块是原样

这个不是在图片上 而是页面上处理


这个东西的用途就是在页面上做一个新功能提示 比如网页上多出一个新功能 为了让用户注意到 可能在页面加载进来的时候 我用一个黑色带透明的遮罩层把其余的位置全盖住 但是只把我要强调的地方露出来

一个实现方式我想到的是把那个地方做成图片扔到遮罩层上面 但是不可能每次都做图片啊

迷茫迷茫2788 天前564

全部回复(2)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:12:56

        var c = document.createElement('canvas'),
        w = window.innerWidth,
        h = window.innerHeight;
    
        document.body.appendChild(c);
        c.style.position = 'absolute';
        c.style.zIndex = 999;
        c.style.top = 0;
        c.style.left = 0;
        c.style.width = w + 'px';
        c.width = w;
        c.style.height = h + 'px';
        c.height = h;
    
        c = c.getContext('2d');
        c.fillStyle = 'rgba(0,0,0,0.5)';
        c.fillRect(0, 0, w, h);
        c.clearRect(w / 2 - 50, h / 2 - 50, 100, 100);
    

    可以考虑用canvas绘图,比如像这样,在指定的位置挖个小框。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 11:12:56

    p{
    width:100px;
    height:100px;
    border:500px solid rgba(255,255,255,0.5);;
    background-color:transparent;
    }

    OK吗?

    回复
    0
  • 取消回复