CSS3转换/转换
CSS3 transitioning/transforming
我正试图仅使用css动画某些元素,正如你可以在下面的代码中看到的,就动画而言,一切都很好,问题是在动画元素创建的空间中。理想情况下,当元素在视线之外时,不应该有空白。在我的尝试下,if ( x === true )
工作良好,额外的空间是为元素创建的,然后元素在创建的新空间中移动,但是当if语句else
的第二部分执行过程相反时,元素的空间消失,然后元素动画出视图,同时重叠它下面的元素。
我希望我上面没有搞砸太多…(
简写为:
1。<div class="animateX_def">
不应占用
2。单击<a id="animateMe">
,为<div class="animateX_def">
创建空间
3。<div class="animateX_def">
将自己动画化到为它创建的新空间。
当再次点击
<a id="animateMe">
时,<div class="animateX_def">
会自动退出视图。<div class="animateX_def">
占用的空间消失了
我该怎么做?我的代码有什么问题?
HTML<a id="animateMe" href="#">Click me</a>
<div class="animateX_def" style="position: absolute;">
<div class="child_element">
---
</div>
---
---
</div>
CSS .animateX_def {
transition:All 600ms ease-in-out;
-webkit-transition:All 600ms ease-in-out;
-moz-transition:All 600ms ease-in-out;
-o-transition:All 600ms ease-in-out;
transform: scale(0) translate(-999px);
-webkit-transform: scale(0) translate(-999px);
-moz-transform: scale(0) translate(-999px);
-o-transform: scale(0) translate(-999px);
-ms-transform: scale(0) translate(-999px);
}
.animateX {
transform: scale(1) translate(0px);
-webkit-transform: scale(1) translate(0px);
-moz-transform: scale(1) translate(0px);
-o-transform: scale(1) translate(0px);
-ms-transform: scale(1) translate(0px);
}
Javascript var x = true;
$ ( '#animateMe' ).click ( function ( event ) {
if ( x === true )
{
$ ( '.animateX_def' ).css ( 'position', 'static' );
$ ( '.animateX_def' ).toggleClass ( 'animateX' );
x = false;
}
else
{
$ ( '.animateX_def' ).toggleClass ( 'animateX' );
$ ( '.animateX_def' ).css ( 'position', 'absolute' );
x = true;
}
event.preventDefault ( );
event.stopPropagation ( );
} );
使用max-height
。这不是理想的解决方案,因为"打开"状态需要静态值。
示例:http://jsfiddle.net/daaym4ck/对于仅css解决方案,我添加了input[type="checkbox"]
用于打开/关闭状态控制。
UPDATE: Ok, height
工作,但只有固定值,max-height
对于未知或可变高度有一点灵活。把它设为可能的最大值。但请记住,如果你有一个真正的元素height: 20px
,并且在样式max-height: 200px
和transition-duration: 1000ms
中指定,你的元素在100毫秒内达到它们的高度(20px/200px * 1000ms)。
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- css3转换和javascript出错
- 如何在不使用css转换的情况下将jQuery animate与css3属性相结合
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 将 JQuery Animation 转换为 Javascript/CSS3
- 如何将 css 像素转换为 css3 比例 (x,y)
- CSS3转换导致非常奇怪的window.scrollY行为
- CSS3转换和javascript交互
- 如何使用CSS3转换
- css3在背景图像上的转换没有'不适用于Firefox
- 更改CSS3转换值
- 添加CSS3转换浮动导航栏-JQUERY
- 添加CSS3转换展开/折叠
- 滚动条不可见,CSS3转换在MOZ中不起作用
- CSS3转换+jQuery翻转卡问题
- 类似css3转换的Javascript
- 如何在 jquery transit 中暂停和重新启动 css3 转换
- 将 css3 动画转换为画布动画的任何方法
- 使用 Javascript 的 CSS3 转换
- 为什么这个 CSS3 转换没有被触发