我有一个div,我想根据条件设置样式。
如果styleOne为true,我想要一个红色的背景颜色。如果StyleTwo为true,我希望背景颜色为蓝色。我已经有一半使用下面的代码。
<div id="myDiv" [ngStyle]="styleOne && {'background-color': 'red'}">
是否可以添加条件说:
修改
我想我已经解决了。有用。不确定它是否是最佳方式:
<div id="div" [ngStyle]="styleOne && {'background-color': 'red'} || styleTwo && {'background-color': 'blue'}">
答案 0 :(得分:20)
对于单个样式属性,您可以使用以下语法:
<div [style.background-color]="style1 ? 'red' : (style2 ? 'blue' : null)">
我认为如果style1
和style2
都不是true
,则不应设置背景颜色。
由于问题标题提到ngStyle
,这里是与该指令的等效语法:
<div [ngStyle]="{'background-color': style1 ? 'red' : (style2 ? 'blue' : null) }">
答案 1 :(得分:4)
如果在ngStyle中使用内联:
[ngStyle]="styleOne?{'background-color': 'red'} : {'background-color': 'blue'}"
我认为打击方式是将背景颜色存储在变量中,然后将背景颜色设置为变量值:
[style.background-color]="myColorVaraible"
答案 2 :(得分:2)
Project
答案 3 :(得分:0)
[ngStyle]="{'opacity': is_mail_sent ? '0.5' : '1' }"
答案 4 :(得分:0)
[ngStyle]="{ 'top': yourVar === true ? widthColumHalf + 'px': '302px' }"