【发布时间】:2018-11-16 03:49:45
【问题描述】:
我想使用 HTML 创建一个在另一个之上的“打开”效果。 经过一番研究,我找到了一种方法(参见 JSFiddle)。
我现在有一个问题,当圆圈调整大小时,背景图像会移动一点。
谁能帮我弄清楚如何让背景图像静止。
- 圆圈中的图片在打开时需要保持相同的缩放级别。
- 圆圈需要居中,下半部分需要在窗外。
Circle css 是这样的:
.circle {
width: 0px;
height: 0px;
z-index: 10;
position: absolute;
border-radius: 50%;
overflow: hidden;
margin: 0 auto;
left: 50%;
-moz-transform: translate(-50%, 50%);
-webkit-transform: translate(-50%, 50%);
bottom: 0;
-moz-transition: all 1.5s;
-webkit-transition: all 1.5s;
}
JSFiddle:http://jsfiddle.net/GmvUQ/2/
更新,
让我再解释一下。我注意到我的问题不够清楚。 我有一些我想要创建的效果的截图:
第一帧:
第二帧
整个效果已经开始工作,但是当过渡正在进行时(带有图像的圆圈变大或变小),圆圈内的图像会移动一点。
这可能是因为需要通过Javascript / CSS定位进行计算。
我需要一些帮助,如何让这张图片在调整大小转换期间完全静止。
谢谢!
【问题讨论】:
-
问题似乎出在滚动条上(here's a version 和
overflow-y: scroll)。 -
@cbuckley 我仍然看到那个摇摆不定。
-
.circle-background2 位置固定?
-
我怀疑这是因为浏览器必须在过渡的每一步重新计算背景大小和位置。如果您可以固定背景位置并从固定点过渡,效果可能会更好?
-
@OllyHodgson 是的,我也这么认为。但我认为没有办法做到这一点。
标签: javascript jquery css css-transitions