html - 在 CSS 掩码后面添加图像
问题描述
如何使背景图像看起来像在手机上显示?所以我把 iPhone 遮住了,我想在手机屏幕上放一张图片。我该怎么做呢?我尝试玩 z-index 但它不起作用。这就是我想要实现的目标
div{
width: 302px;
height: 605px;
background-image: url(https://www.apple.com/v/iphone-xs/d/images/overview/hardware_display_iphonexsmax_gold_portrait_large_2x.jpg);
background-size: 302px 605px;
background-repeat: no-repeat;
-webkit-mask-size: 302px 605px;
-webkit-mask-image: url(https://www.apple.com/v/iphone-xs/d/images/overview/hardware_display_iphonexsmax_gold_portrait_mask_large.svg);
-webkit-mask-repeat: no-repeat;
position: relative;
z-index: 2;
}
.background{
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 265px;
height: 571px;
background-image: url(https://www.apple.com/v/iphone-xr/d/images/overview/screen_display_iphonexr_large_2x.jpg);
background-size: 265px 571px;
}
<div>
</div>
<div class="background"></div>
解决方案
您遇到的问题是div
您应用于手机的样式也被应用于.background
. 通过给手机一个单独的类,您可以单独设置它们的样式。
我在下面更新了您的示例。
.phone {
width: 302px;
height: 605px;
background-color: white;
background-image: url(https://www.apple.com/v/iphone-xs/d/images/overview/hardware_display_iphonexsmax_gold_portrait_large_2x.jpg);
background-size: 302px 605px;
background-repeat: no-repeat;
-webkit-mask-size: 302px 605px;
-webkit-mask-image: url(https://www.apple.com/v/iphone-xs/d/images/overview/hardware_display_iphonexsmax_gold_portrait_mask_large.svg);
-webkit-mask-repeat: no-repeat;
position: absolute;
z-index: 2;
}
.background {
position: absolute;
top: 20px;
left: 20px;
z-index: 1;
width: 280px;
height: 580px;
border-radius: 10px;
background-image: url(https://www.apple.com/v/iphone-xr/d/images/overview/screen_display_iphonexr_large_2x.jpg);
background-size: cover;
}
<div class="phone"></div>
<div class="background"></div>
推荐阅读
- javascript - 在 React js 的扩展面板中获取输入并输出
- networking - 使用某些 wifi 网络时,VueJs 页面为空白
- c# - 类设计悖论
- apache-camel - 为什么我的 ConsumerTemplate 没有从 ActiveMQ 主题中读取任何消息?
- android - 基于具有空值的对象构建字符串
- aes - Java AES 256 Decrypt 不解密前 16 个字节
- apache - 为什么我的 Sassy CSS 样式没有被应用?在 Chrome 开发工具中使用 Scss 接收 MIME 类型错误
- generics - 如何让 F# 编译器将我的参数推断为泛型函数?
- linux - 为什么 lspci 列出 pcie 设备?
- system-verilog - 在System Verilog中,如何判断一个类项是否存在?