搜尋

首頁  >  問答  >  主體

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

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

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


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

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

迷茫迷茫2788 天前557

全部回覆(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{
    寬度:100px;
    高度:100px;
    邊框:500px實心rgba(255,255,255,0.5);;
    背景顏色:透明;
    }

    好的嗎?

    回覆
    0
  • 取消回覆