ng-show / ng-hide导致在safari中具有0宽度和0高度的元素

时间:2014-09-07 07:35:03

标签: html5 angularjs css3

我有以下无法理解的问题。我的基本设置是:

  <div class="col-xs-12"  data-ng-hide="question.hideSubQuestions">

     //My dynamic-generated contents go here

 </div>

在Windows中的IE,Safari,FireFox和Chrome中,一切正常。这意味着当值 question.hideSubQuestions = false时,内容将按预期显示。

但是,当我在Mac OS或iPhone中使用Safari测试我的网站时,当 question.hideSubQuestions的值等于false时,上面的标记会产生 0高度和0宽度的div ,表示屏幕上没有显示任何内容。

我比较了两个操作系统中元素的结果样式,一切都相同除了 div的宽度和高度。在Windows中,宽度和高度是需要显示div内容的内容,对于Mac中的Safari,值 0

我还在Mac上使用FireFox和Chrome测试了网站,一切都按预期工作。当值为false时显示内容。

如果你能给我一些见解,那将非常有帮助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

最后,我找到了一个解决方案。因此,不是将 data-ng-hide =“question.hideSubQuestions”应用于父div,而是将其应用于子元素。当值 hideSubQuestions 更改时,这将使div子项正确显示。