【问题标题】:CSS two skewed container sliderCSS 两个倾斜的容器滑块
【发布时间】:2015-04-17 21:09:04
【问题描述】:

我有一个非常规的项目,我认为有可能做到这一点。

我有 2 个用边框分隔的容器。两者都有偏斜。图片或文字没有倾斜 - 当然,为了有正常的视角,我会在内容中使用相反的倾斜。

当我单击左侧或右侧容器时,容器将动画到全显示器宽度

您知道如何构建它以及如何正确设计 css 吗?

屏幕: Preview

【问题讨论】:

  • 你能展示你目前拥有的东西吗?也许是一个 jsFiddle 的例子?
  • 如果你的意思是下面的方框:developer.chrome.com/devsummit,开发者在这里做了一个很好的视频:aerotwist.com/blog/flip-your-animations
  • 不,不是那样的。一切都会很好,但歪斜会毁掉一切。估计不能只用css和js写吧,也许一些图片会是最好的解决方案
  • 您将需要使用一些 JS 来捕获点击事件,但动画和一切都可以使用 CSS3 完成 - 您可以添加/删除动画类等以满足您的要求

标签: jquery css html css-animations skew


【解决方案1】:

这里是它如何工作的起点。

div {
  background-size: cover;
  height: 200px;
  width: 400px;
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
}
.a {
  background-image: url('https://farm9.staticflickr.com/8713/16556277604_bb297ec7a6_z_d.jpg');
}
.a > div {
  position: absolute;
  right: -40px;
  border-left: 20px solid #fff;
  width: 220px;
  transform: skewX(-20deg)
}
.a > div > div {
  background-image: url('https://farm9.staticflickr.com/8736/16982940820_01564cbb99_z_d.jpg');
  transform: skewX(20deg);
  margin-left: -40px;
}
<div class="a">
  <div>
    <div></div>
  </div>
</div>

【讨论】:

  • 你能解释一下为什么 .a > div > div 有 margin-left: -40px 吗?
  • @AdamRudnicki 因为否则右图的左下角不会到达白色倾斜边框
  • @AdamRudnicki 当然。如前所述,我的示例只是概念的快速证明,而不是完整的解决方案。
  • 在我看来,当您需要将该容器调整到窗口时,该解决方案并不好。什么时候存在一些向后和向前的计算是个好主意(margin-left:-40px,right:-40px)。也许解决方案是 javasript?
猜你喜欢
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 2023-03-19
  • 2012-11-15
  • 2019-08-13
  • 1970-01-01
相关资源
最近更新 更多