html - 具有固定定位的切片背景图像
问题描述
这是我的第一个问题,所以我可能会错过一些东西。如果您需要任何其他信息,请告诉我。
我正在尝试创建一个覆盖另一个图像的切片图像,当您悬停任何切片时,它会消失并显示底层图片。我所做的是我创建了几个代表每个切片的 div,然后使用固定的背景位置,因此覆盖的图像看起来很完整。
我已经完成了这个概念,但是我在调整叠加图片的位置时遇到了一些麻烦。由于我使用的是固定背景定位,因此覆盖图片在响应式环境中不起作用,也就是说,如果我没有将图像定位在左上角。但如果我移除固定定位,我将无法创建无缝切片图片。
这可以解决还是我完全以错误的方式解决了这个问题?谢谢你的帮助!
这是我所做的代码笔https://codepen.io/renryl/pen/MzJjpd。
body {
margin-left: 50px;
}
$itemWidth: 20px;
$foreground-image: 'https://i.warosu.org/data/biz/img/0022/15/1495964000552.jpg';
$background-image: 'https://vignette.wikia.nocookie.net/wiiu/images/5/5e/New-Super-Mario-Bros-Art-21-400x400.jpg/revision/latest?cb=20121029024830';
.background-picture {
max-width: 400px;
height: 400px;
overflow: hidden;
background: rgba(#424242,.5) url($background-image) no-repeat;
border-radius: 50%;
}
.foreground-picture {
width: $itemWidth;
height: 100%;
display: inline-block;
transition: all 1.5s ease-in-out;
background: rgba(#424242,.5) url($foreground-image) no-repeat fixed;
&:hover{
transition: all 0s linear;
opacity:0;
}
}
<html>
<body>
<div id="app">
<picture inline-template>
<div class="background-picture">
<div v-for="i in numberOfSlices" :key="i" class="foreground-picture"></div>
</div>
</picture>
</div>
</body>
</html>
Vue.component('picture', {
data() {
return {
numberOfSlices: 20
}
}
});
var vm = new Vue({
el: '#app'
});
解决方案
如果我理解,您需要这两个属性:
背景位置:中心;
这将使您的图像以您的 div 为中心。
背景尺寸:封面;
背景大小的封面将适合内容并覆盖所有内容
推荐阅读
- php - Codeigniter : 类似于使用空帖子数据的查询
- ruby - 如何修复 Ruby 中的 NoMethodError?
- azure - 通过 S2S 连接连接到 Azure 时,本地 VM 是否可以使用 Azure DNS?
- javascript - Not defined error when attempting to dynamically load scripts with React.js
- apache-spark - 如何在 Spark 结构化流中将两个流 df 写入 MySQL 中的两个不同表中?
- javascript - 添加jquery后HTML提交按钮不起作用
- excel - Excel - “运行时错误'1004'方法'SaveAs'的对象'_'工作簿'失败”Macbook
- sockets - 套接字读取通常在缓冲区不为空时返回 -1
- php - 无法设置错误处理程序以在 PHP-8 中抛出 ErrorException
- node.js - MongoDB:如何从数据库中获取最后一项?