-WEBKIT-TRANSITION显示样式
-WEBKIT-TRANSITION for display styles
我有一个代码(简化)。我想要"高度线性2s"过渡。有办法做到这一点使用display:block和display:none属性?我不想指定内容的高度。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
const classes = new Array("shown", "hidden");
const classesCount = 2;
var curClass = 0;
function switchClass() {
document.getElementById("divel").className=classes[curClass = (curClass + 1) % classesCount];
}
</script>
<style type="text/css">
.hidden {
display:none;
-webkit-transition-property: height;
-webkit-transition-duration: 2s;
-webkit-transition-timing-function: linear;
}
.shown {
display:block;
-webkit-transition-property: height;
-webkit-transition-duration: 2s;
-webkit-transition-timing-function: linear;
}
</style>
</head>
<body>
<button onclick="switchClass()">Press me</button>
<div id="divel" class="shown">
Hello World<br>
Hello World<br>
Hello World<br>
</div>
</body>
</html>
基本示例:http://jsfiddle.net/DNeEv/
但是,您需要指定一个精确的高度。不确定如何使用height:auto
一个auto height的例子:http://jsfiddle.net/nB5Du/
在某些情况下转换会失败:
-
display: none
-
height: auto
. .所以我需要改变css,使过渡工作。下面是演示:http://jsbin.com/axijaz/4
而height:auto
+ max-height
+ min-height
可以复制类似的效果:
注意:
- 如果min-max有很大的不同,你可能需要打破过渡(见第2点)
- 仅
min-height
或仅max-height
将仅触发一侧过渡(参见版本6和7)
或者如果你愿意使用包装器和js代码,这里已经有人给出了解决方案
希望能有所帮助。
相关文章:
- 应用程序在呈现Jquery Mobile之前显示无样式的Html
- 避免在用ng href加载样式表之前显示内容
- 在javascript中将样式显示从none更改为block
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 如何使活动菜单项具有突出显示样式
- Javascript选中一个表中的所有复选框,该表的行具有样式显示标记
- ASP.Net VB - 显示数据折叠样式
- 如何检查与显示:无样式相关的文本内容
- Jquery/JS:通过样式显示显示选择框(无,块)
- 带有样式显示的 Div:表格的高度错误
- Javascript/JQuery 如果样式显示值等于
- 循环遍历数组并以表格样式显示结果
- 如何使PHP/JavaScript错误弹出窗口以正确的样式显示
- 如果所有li子元素都具有CSS样式显示,则隐藏父元素:none
- 样式显示:没有在IE8、IE9、IE10兼容性视图中不起作用
- 如何使用jquery-mobile以水平样式显示垂直单选按钮
- 类似materialdesign的样式显示CSS中的过渡
- 以格式化可读样式显示日期差异
- 操作样式显示属性
- 筛选出具有CSS样式显示的JQuery元素:无