css - CSS过渡不适用于任何属性
问题描述
在我的 AngularJS 应用程序中,一旦用户在输入字段中提交了一个值,我就会显示一个面板,当他们这样做时,一个active
类被添加到容器中。当发生这种情况时,会添加许多 CSS 属性。我已经添加了transition property to apply to both
不透明and
背景though it isn't applying the
转换值,并且立即更改。
.scss 文件
.container-add-patent {
.add-patent-panel {
.found-patent-panel {
opacity: 0;
background: green;
-moz-transition: all ease-in-out 10s;
-o-transition: all ease-in-out 10s;
-webkit-transition: all ease-in-out 10s;
transition: all ease-in-out 10s;
}
}
&.active {
.add-patent-panel {
.found-patent-panel {
background: red;
opacity: 1;
}
}
}
}
看法
<div class="container-add-patent" data-ng-class="{'active': foundPatent}">
<div class="add-patent-panel" role="dialog">
<div class="row found-patent-panel" data-ng-show="foundPatent">
//CONTENT
</div>
</div>
</div
解决方案
所以归结为使用ng-show
which 应用了display: none
Pete 所说的属性。它是 Angular 在指令时应用的类,例如在返回布尔值时应用ng-show
或应用。ng-if
如果为 false,ngIf
则导致元素从 DOM 中完全删除。使用正确的选择器,您可以在元素进入时定位元素,并且可以使用opacity
. ngShow
默认 css 属性是display: none
您无法转换的。以下是我所做的更改:
<div class="container-add-patent" data-ng-class="{'active': foundPatent}">
<div class="add-patent-panel" role="dialog">
<div class="row found-patent-panel" data-ng-if="foundPatent"> //changed to `ngIf`
//CONTENT
</div>
</div>
</div
.container-add-patent {
&.active {
.add-patent-panel {
.found-patent-panel {
&.ng-enter { //classes applied by angular
opacity: 0;
-moz-transition: all ease-in-out .25s .3s; //Added a delay of .3s
-o-transition: all ease-in-out .25s .3s;
-webkit-transition: all ease-in-out .25s .3s;
transition: all ease-in-out .25s .3s;
}
&.ng-enter.ng-enter-active {
opacity:1;
}
}
}
}
}
推荐阅读
- java - 即使成功绘制,从 Firebase 数据库中提取的数据也无法存储在变量中
- python - OSX Catalina - GCC/PIP 编译问题
- ruby-on-rails - Rails 电子邮件 SMTP 验证器 gem 错误率高?
- python - Asyncio - 如何检测另一个任务中的结束任务
- angular - 角度将延迟的服务器响应视为空响应
- python-3.x - 条件装饰器怎么做
- html - 为什么来自网站的链接在 id 上不起作用?
- redis - 如何编写 Lua 脚本以使用键和值列表插入多个哈希
- django - 如何重定向按钮单击用户未登录 django
- reactjs - Typescript Object.keys() 总是返回一个空数组