style binding
除了 class binding,Angular 也提供了 style binding 的方式來直接設定元素的樣式。
兩種主要寫法
1. 物件形式綁定
使用 [style]
綁定一個樣式物件:
<div [style]="{
'font-size': '64px',
'background-color': 'blue',
'margin-top': '20px'
}">
也可以使用駝峰式命名:
<div [style]="{
fontSize: '64px',
backgroundColor: 'blue',
marginTop: '20px'
}">
注意:
CSS 屬性中的連字符(-)在 JavaScript / TypeScript 中是不合法的
所以要用引號包住屬性名,或使用駝峰式命名
值必須是字串形式
2. 單一樣式綁定
使用 [style.特定樣式]
的形式:
<div
[style.fontSize]="'50px'"
[style.color]="isActive ? 'red' : 'blue'"
[style.width.px]="100"
>
也可以使用連字符形式:
<div
[style.font-size]="'50px'"
[style.background-color]="isDark ? 'black' : 'white'"
>
補充說明:
單位可以直接加在屬性後面:
[style.width.px]="100" // 不需要加單位
[style.height.%]="50" // 使用百分比
可以使用條件運算:
[style.color]="isError ? 'red' : 'black'"
[style.display]="isVisible ? 'block' : 'none'"
可以綁定元件的屬性或方法:
[style.backgroundColor]="getColor()"
[style.font-size]="fontSize + 'px'"
Last updated