Plunkr就在这里
绝对不是CSS过渡/大师,但我想点击输入中的图标幻灯片。我有这个工作,但一旦动画完成,我的图标会爆炸到包含div的宽度,我不知道为什么。
标记
<form class="form">
<div class="input-group col-sm-5">
<span class="btn btn-default input-group-addon" ng-click="hideInput = !hideInput">
<span class="glyphicon glyphicon-flag"></span>
</span>
<input class="form-control animate-hide" ng-hide="hideInput" />
</div>
</form>
样式
.animate-hide {
-webkit-transition: all linear 0.75s;
-o-transition: all linear 0.75s;
transition: all linear 0.75s;
}
.animate-hide.ng-hide {
width: 0;
}
.glyphicon-flag {
color: #d9534f !important;
}
当动画完成时按钮的扩展效果非常好。
答案 0 :(得分:2)
问题是Bootstrap将display
的CSS input-group-addon
属性设置为table-cell
。动画完成后,隐藏输入,使标志图标展开以占用所有剩余空间。您可以通过各种方式解决此问题,一个简单的选择是在输入后添加空span
。例如:
<form class="form">
<div class="input-group col-sm-5">
<span class="btn btn-default input-group-addon" ng-click="hideInput = !hideInput">
<span class="glyphicon glyphicon-flag"></span>
</span>
<input class="form-control animate-hide" ng-hide="hideInput" />
<span></span>
</div>
</form>
示例plunker:http://plnkr.co/edit/qPvbXtEUzvWfsZPkmVRq?p=preview