【发布时间】:2016-12-03 06:26:46
【问题描述】:
我有一个元素,我想在其内容更改时为其宽度设置动画。它有width: auto,这永远不会改变。我见过this trick,但这是用于在两个值之间转换并设置一个。我根本不操纵值,只操纵内容,并且我希望元素的大小随动画而变化。这在 CSS 中完全可能吗?
这是我的代码的简化版本:
.myspan {
background-color: #ddd;
}
.myspan:hover::after {
content: "\00a0\f12a";
font-family: Ionicons;
font-size: 80%;
}
<link href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet"/>
<html>
<body>
<span class="myspan">Hello!</span>
</body>
</html>
当用户将鼠标悬停在元素上时,我希望改变大小的动画。
【问题讨论】:
-
您不能仅使用 CSS 为
auto制作动画。要么使用您链接到的“最大高度”技巧,要么在页面加载时运行一个设置最终高度的小脚本 -
@LGSon 在这种情况下我如何使用最大宽度技巧,过渡中的两个值都是可变的?
-
另外,“当内容发生变化时”是什么意思?...他们为什么要那样做?如果您使用 JS 来做到这一点......然后使用 JS 来“自动”改变宽度,
-
使用
max-width技巧,你可以给它一个足够大的值来容纳最宽的值。如果您发布您的 HTML 和 CSS,我也许可以为您制作一个示例 -
伪?? ...现在你肯定需要发布你的代码
标签: css animation css-transitions css-animations