【发布时间】:2018-12-21 08:24:04
【问题描述】:
我有html这个基本上是这样的:
<span>
<input name="checked_field" type="text" />
<p class="has-warning danger" style="display:none;">{{ error.first() }}</p>
</span>
display:none 在加载时由 JavaScript 添加。如果用户在checked_field 中键入了无效值,则会将其删除。
由于框架通过简单地删除 style="display:none;" 来控制可见性,我想知道:当通过 JavaScript 删除 display:none 时,是否可以通过纯 CSS 规则转换高度和可见性?同样,鉴于我无法添加第二类,但我坚持使用 JavaScript 框架删除 style。
【问题讨论】:
-
您不能使用纯 CSS afaik 从 display:none 转换高度。如果你定义了一个特定的高度或者做
max-heighthack,你可以使用 vue 转换来做到这一点。你也可以使用我写的这个库从display: none转换到height: auto,github.com/guanzo/vue-smooth-height -
已接受的答案确实提供了仅 CSS 的解决方案,但是您的组件非常值得研究,我会这样做,谢谢!
标签: vue.js css-transitions javascript-framework vee-validate