工作隐藏着我有如下代码:增加一个div弯曲时,另一个不上的Safari
angular.module("myApp", []).controller("myController", function($scope) {
$scope.toggleBlue = false;
});
span {
cursor: pointer;
}
.wrapper {
display: flex;
justify-content: space-between;
padding: 10px;
background-color: grey;
margin-top: 10px;
}
.row {
width: 35%;
}
.first {
flex: 1;
background-color: red;
}
.second {
display: flex;
}
.toggle {
width: 80%;
background-color: blue;
}
.decrease {
width: 30px;
height: 20px;
background-color: yellow;
}
.noWidth {
width: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myController">
<span ng-click="toggleBlue = !toggleBlue">TOGGLE BLUE BOX</span>
<div class="wrapper">
<div class="row first"></div>
<div class="row second" ng-class="{noWidth: toggleBlue}">
<div class="toggle" ng-if="!toggleBlue"></div>
<div class="decrease"></div>
</div>
</div>
</body>
当我点击文本“切换蓝盒子”,它应该隐藏ng-if
的蓝色框,增加红色框以填充flex: 1;
,并用ng-class
更改黄色框的宽度。所以它应该简单地切换蓝色框。这对Chrome很有效。但是当我在Safari浏览器的iPad上试用它时,它将删除蓝色框,但不会增加红色框。另外,黄盒比不到底的背后红色的是这样的:
我预期的结果是像这里的片段是相同的。我如何解决这在safari上?我尝试flex 1;
的情况下,但它没有奏效。有任何想法吗?
感谢
为什么你使用'宽度:35%;''为.row'? – 3rdthemagical
Safari版本? –
@ 3rdthemagical,因为我想有35%的灰度作为宽度...我认为这不是错误,并不是很重要... – MrBuggy