我正在使用Ionic和Angular创建一款适用于Android和iOS的应用程序。在Android上一切都正常工作。而iOS则是问题所在(当然)。
我正在使用ng-class
对一个元素应用类更改。我可以在Safari检查器中的HTML和CSS中看到类的更改。但是我在屏幕上看不到这些更改。唯一能看到这种更改的方法是如果我操纵CSS选择器(例如简单地开/关样式)。
下面是带有Angular的HTML代码:
<div class="avatar-view__initial__question question-hide" ng-class="{'question-show': speech.captured === true, 'question-hide': speech.captured === false}">{{question.text}}</div>
和CSS
.avatar-view__initial__question {
text-align: left;
background-color: #E9EBEF;
font-size: 1.5em;
position: relative;
background-image: url(../img/icons/icon-ear.svg);
background-size: 50px;
background-repeat: no-repeat;
background-position: 10px center;
flex-shrink:1;
@extend .css-animate;
&.question-show {
padding: 20px 10px 20px 60px;
height: auto !important;
}
&.question-hide {
height:0 !important;
padding:0 10px 0 60px;
}
}
如我所提到的,CSS 已经 应用,但除非我在检查器中操作任何与该元素相关的样式,否则我无法看到更改。
这是一个错误吗?还是我可以解决它?
更新 我刚刚在iOS 9设备上尝试了一下,它完美地工作。似乎是一个10的问题。
更新2 我觉得这是一个flexbox问题。我让它们填充屏幕成为一列,但当底部没有内容时,我给它零高度。 它表现得很奇怪。我重新格式化了HTML以使其以不同的方式工作。但我希望将其保留下来,以防其他人遇到此问题。