我正在制作一个网页,其中包含fixed
背景定位的元素,并且在我将 css动画应用于(完全不同且无关紧要)元素之前,它一直运行良好。< / p>
我尝试删除/重新应用动画以确保它实际上是问题,当然,当我添加动画时,背景定位(页面上每个元素)变为静态,在我删除动画的那一刻再次工作。
这是正常的吗?
最终,我正在寻找一个允许的解决方案:
这里有动画:
这里没有他们:
我只在Chrome中对此进行了测试。
更新:如一个答案所示,为元素提供固定背景位置 static
定位会导致元素保留其固定背景的行为CSS3动画在页面上是活动的,代价是所需的相对元素定位。
可以假设这可以通过将相关元素包装在相对父元素中来解决,但事实并非如此。
如果页面上的CSS3动画(或转换)活动 ,即使是相对定位元素的大孩子也会失去固定的背景定位。
静态定位>>
这里的静态定位带有相对包装,浮动:
以上没有激活CSS3动画:
我刚发现的东西,如果我从包装器中删除float:left
:
这使它工作得很好!
答案 0 :(得分:3)
我最接近请求的答案是一种解决方法,允许:
但不代表:
fixed-background
元素最终 被赋予 float
定位的行为。 解决此此Chrome错误:
使用类fixed background-position
在relative-wrapper
元素周围放置一个包装。
为相对包装类指定样式position: relative
。 (以及你需要提供的任何其他款式,例如宽度或高度。只是没有浮动。
最后,具有讽刺意味,为fixed background-position
样式float: left
(或任何浮点数)赋予元素。注意:浮动定位会使您的元素的行为和大小不同。
如果您还不知道它是如何导致元素的行为,那么您应该使用Google CSS浮动定位。但是,由于这个问题的目的是弄清楚如何在具有CSS3动画的页面中对固定背景元素进行相对和浮动定位,我将假设你可以处理它。
先前注意,我说fixed background-position
元素不能
最终 获得
float
定位的行为。
这是因为无论你做什么,你都必须将浮动元素包装在非浮动定位的包装中,或者fixed
背景位置保持断开。只是发生了 元素中的相对包装需要float
定位以保持其固定的背景定位。
我不知道为什么会这样,但确实。
我没有时间添加JSFiddle示例,但值得注意的是,当 CSS3 Transitions 处于活动状态时,此解决方案还可以解决元素中fix-background position
的破坏问题在网页中。
答案 1 :(得分:2)
试试这个
.outside-board{
//try to change position to
position:static;
}