CSS过渡自动宽度
我有一个元素,其内容更改时我想为其宽度设置动画。它具有width:
auto,并且永远不会改变。我已经看到了这个技巧,但这是为了在两个值之间进行转换并设置一个。我根本不操纵值,仅操纵内容,我希望元素的大小随动画而变化。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>
当用户将鼠标悬停在元素上时,我希望更改的大小可以动画。
回答:
正如我所评论的,还不能设置动画auto
,所以请使用max-width
/ max-
height技巧,或者,如果需要更精确的设置,请使用脚本设置宽度。
使用max-width
/ max-height
技巧,为它提供足够大的值以容纳最宽的值。
堆栈片段
.myspan { display: inline-block;
font-size: 30px;
background-color: #ddd;
vertical-align: bottom;
}
.myspan::after {
content: " \00a0\f12a ";
font-family: ionicons;
font-size: 80%;
display: inline-block;
max-width: 0;
transition: max-width .6s;
vertical-align: bottom;
overflow: hidden;
}
.myspan:hover::after {
max-width: 80px;
transition: max-width 1s;
}
<link href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" />
<span class="myspan">Hello!</span>
以上是 CSS过渡自动宽度 的全部内容, 来源链接: utcz.com/qa/426328.html