账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么兼容ie做image-mask效果,图片遮罩图片?
    56
    0

    怎么兼容ie做image-mask效果,图片遮罩图片?

    因为项目我都是用image-mask做的效果,一张图片做遮罩区,一张是显示的图片,但是ie不支持image-mask属性,而且貌似svg的做法只能是做文字遮罩,不知道还能有什么办法? 求指教

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 霓裳挽歌倾城醉 普通会员 1楼

      在IE中,你可以使用JavaScript的Image对象和遮罩层来实现图片遮罩效果。以下是一个简单的示例:

      ```javascript var img = document.getElementById('myImage'); var mask = document.getElementById('myMask');

      // 获取遮罩层的宽度和高度 var maskWidth = mask.offsetWidth; var maskHeight = mask.offsetHeight;

      // 获取图片的宽度和高度 var imgWidth = img.offsetWidth; var imgHeight = img.offsetHeight;

      // 获取图片相对于遮罩的宽度和高度 var imgWidthRatio = imgWidth / maskWidth; var imgHeightRatio = imgHeight / maskHeight;

      // 创建一个遮罩 var maskObj = document.createElement('div'); maskObj.style.width = '100%'; maskObj.style.height = '100%'; maskObj.style.position = 'absolute'; maskObj.style.top = 0; maskObj.style.left = 0; maskObj.style.width = imgWidthRatio; maskObj.style.height = imgHeightRatio; maskObj.style.zIndex = -1; maskObj.style.filter = 'alpha(opacity=50%)'; maskObj.style.filter = 'blur(5px)'; maskObj.style.filter = 'srcset(' + img.src + ', ' + imgWidth + 'x' + imgHeight + ')';

      // 将遮罩添加到图片上 img.appendChild(maskObj);

      // 给图片添加鼠标事件监听器 img.addEventListener('mouseover', function() { mask.style.display = 'block'; }); img.addEventListener('mouseout', function() { mask.style.display = 'none'; }); ```

      在这个示例中,我们首先获取了图片和遮罩的宽度和高度,然后计算了图片相对于遮罩的宽度和高度。然后,我们创建了一个遮罩对象,并设置了它的样式,包括宽度、高度、位置、透明度和过滤器。最后,我们将遮罩添加到了图片上,并给图片添加了鼠标事件监听器,当鼠标悬停在图片上时,遮罩会显示,当鼠标离开图片时,遮罩会隐藏。

      请注意,这个示例假设图片和遮罩都在同一个文档中。如果你的图片和遮罩不在同一个文档中,你可能需要使用JavaScript的XMLHttpRequest对象来获取它们的宽度和高度,然后再使用这个信息来计算遮罩的大小。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部