這是〈Svelte 從小白到入門〉系列的第十一集,各集連結如下:


CSS Class

想在 Svelte 元件中的 HTML 區域置入簡單的 JS 敘述一般會這樣做:

<button class="{current === 'foo' ? 'selected' : ''}">foo</button>

利用 Svelte 提供的 {} 大括號插入 JS 敘述,上面我們用簡單的三元表達式來決定要帶入的 CSS class。

但對於 CSS class 的添加,Svelte 有更簡便的語法,像是這樣:

<button class:selected="{current === 'foo'}">foo</button>

currentfoo 時,按鈕就會被添加 selected 的 CSS class,方便我們少打幾個字。

完整的範例如下:


如果要套用的 CSS class 又剛好和 JS 變數同名:

<div class:big={big}>
	<!-- ... -->
</div>

上面的意思是,如果 JS 變數 bigtrue 則套用 CSS class .big

因為同名,Svelte 讓我們用更簡短的寫法表達:

<div class:big>
	<!-- ... -->
</div>

耶又可以少打幾個字!

完整的範例如下: