gpt4 book ai didi

html - 显示子元素时调整元素大小的过渡

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:07 25 4
gpt4 key购买 nike

我正在尝试为显示子元素时自动调整大小的组件制作动画。

我在聚焦父 div 时显示/隐藏子元素。这个 div 会自动调整大小,但我想让它平滑。纯 CSS3 有可能吗?

我已经尝试了几种方法:宽度/可见性转换、overflow-x: hidden、calc()...我暂时找不到可行的解决方案。我不想使用 jquery 之类的方法($.hide() 或其他东西)...

这是我想要制作动画的示例:

  .chip {
display: inline-block;
position: relative;
color: #747474;
line-height: 32px;
padding: 0 12px;
background-color: #e4e4e4;
border-radius: 5px;
}

.chip > i {
display: none;
}

.chip:hover > i{
display: inline-block;
cursor: pointer;
}
<link href="https://use.fontawesome.com/releases/v5.0.9/css/all.css" rel="stylesheet"/>
<div class="chip">
Animation
<i class="fa fa-times"></i>
</div>

最佳答案

由于您不能为display 属性设置动画,您可以使用max-widthtransition 来实现效果。opacity 用于添加淡入淡出效果

.chip {
display: inline-block;
position: relative;
color: #747474;
line-height: 32px;
padding: 0 12px;
background-color: #e4e4e4;
border-radius: 5px;
vertical-align:middle;
}

.chip > i {
display:inline-block;
max-width:0em;
opacity:0;
transition:max-width .5s,opacity .5s;
overflow:hidden;
vertical-align:middle;
}

.chip:hover > i{
max-width:2em;
opacity:1;
}
<link href="https://use.fontawesome.com/releases/v5.0.9/css/all.css" rel="stylesheet"/>
<div class="chip">
Animation
<i class="fa fa-times"></i>
</div>

您还可以使用其他属性,例如 transform 来实现更漂亮的动画。

.chip {
display: inline-block;
position: relative;
color: #747474;
line-height: 32px;
padding: 0 12px;
background-color: #e4e4e4;
border-radius: 5px;
vertical-align: middle;
}

.chip>i {
display: inline-block;
max-width: 0em;
opacity: 0;
transition: max-width .5s, opacity .5s,transform .5s;
overflow: hidden;
vertical-align: middle;
transform:scale(0,0) rotate(-90deg);
}

.chip:hover>i {
max-width: 1em;
opacity: 1;
transform:scale(1,1) rotate(0deg);
}
<link href="https://use.fontawesome.com/releases/v5.0.9/css/all.css" rel="stylesheet" />
<div class="chip">
Animation
<i class="fa fa-times"></i>
</div>

关于html - 显示子元素时调整元素大小的过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49709842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com