【问题标题】:How do I recreate the Disney Plus / Netflix cover image with CSS?如何使用 CSS 重新创建 Disney Plus / Netflix 封面图片?
【发布时间】:2021-06-10 22:58:02
【问题描述】:

我的网站上有一张背景图片。我想倾斜它,使它看起来像 Netflix / Disney Plus 上的封面照片(附在下面)。

尝试

我尝试将它添加到我的图像的 CSS 中,灵感来自这个问题:CSS transform like netflix cover image

transform: rotateY(-30deg) rotateX(40deg) perspective(800px) scale(1.6)

但它不会产生预期的结果。相反,它不正确地倾斜并且没有完全拉伸容器。

代码示例

这是我的例子:https://jsfiddle.net/gd3wL8nk/11/

截图

更新

我通过将 perspective: 2000px 添加到包含 div 并将其添加到内部 div 来使其工作:

transform: rotateY(-20deg) rotateX(20deg) scale(2) translateX(-10%)

我的最终 CSS(包括测量编辑等)如下所示:

.container {
  height: 90vh;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  perspective: 2000px;
  height: 900
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 110%;
  background-image: url('image-here');
  background-size: cover;
  transform: rotateY(-20deg) rotateX(20deg) scale(2);
  position: absolute;
  top: -10%;
  left: 0;
  minWidth: 800;
}

见小提琴:https://jsfiddle.net/fernandorojo/kr567zp8/4/

【问题讨论】:

  • 我们在哪里可以看到您的输出?
  • @m4n0 我刚刚将此链接添加到我的示例中:jsfiddle.net/gd3wL8nk/11
  • 您可以尝试在父元素上应用透视图吗?
  • 那肯定有所作为:jsfiddle.net/0e9ohpu3/1。也许我现在会继续调整视角。最后要弄清楚的是如何 1)获得他们使用的准确(ish)角度,以及 2)确保它始终填满容器。
  • 我想我明白了,我在我编辑的答案中分享了我的解决方案

标签: css css-transforms


【解决方案1】:

您可能正在寻找transform: skew();

transform: skew(20deg) scale(1.6);

但它不适用于 X 和 Y 旋转。确保其全屏的一个好方法是将图像用作超大容器中的背景。对于任何子项(如表单,如果您将其嵌套在父 div 中),您将需要应用相反的倾斜以确保它不会出现倾斜。

如果您检查the asset Netflix uses,它已经在 Photoshop 中倾斜。

【讨论】:

  • 是的,我注意到他们的光栅已经倾斜。也许我会尝试这样做(尽管这是另一件事要弄清楚)。我想在 CSS 中这样做的原因是我希望那里有实际的动画元素,而不仅仅是一个静态图像。这是另一个使用 CSS 执行此操作的示例(尽管它似乎只是在一个轴上):storyheap.com
猜你喜欢
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
相关资源
最近更新 更多