首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS网格透视/变换

问CSS网格透视/变换
EN

Stack Overflow用户
提问于 2019-06-20 22:32:22
回答 1查看 239关注 0票数 1

是否有可能使用CSS对元素进行自由变换-类似于网格变换?

​

​

我能做到的最接近这一点的方法是使用具有三个元素的transform: perspective(400px) rotateY(45deg);,但我希望它是一个连续的img元素。

EN

回答 1

Stack Overflow用户

发布于 2019-06-20 22:44:37

你可以考虑3个元素和background-image。诀窍是调整背景大小/背景位置,以创建一个连续图像的错觉。

悬停以查看结果:

​

代码语言:javascript
复制
.box {
  margin: 50px auto;
  width: 200px;
  height: 200px;;
  background-size: 300% auto;
  background-position: center;
  position: relative;
}

.box:before,
.box:after {
  content: "";
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  background-image: inherit;
  background-size: 300% auto;
  transform: perspective(800px);
  transition: 0.5s all;
}

.box:before {
  right: 100%;
  background-position: left;
  transform-origin: right;
}

.box:after {
  left: 100%;
  background-position: right;
  transform-origin: left;
}

.box:hover::before {
  transform: perspective(800px) rotateY(50deg);
  filter: brightness(0.8);
}

.box:hover::after {
  transform: perspective(800px) rotateY(-50deg);
  filter: brightness(0.8);
}
代码语言:javascript
复制
<div class="box" style="background-image: url(https://picsum.photos/id/1/1000/800)">
</div>

​

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56688288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档