按鈕與動作


一般按鈕 .lct-btn

基底 class 是 .lct-btn,再加上一個變體修飾子決定外觀。

<button class="lct-btn lct-btn--primary">加入</button>
<button class="lct-btn lct-btn--ghost">Ghost</button>
<button class="lct-btn lct-btn--secondary">取消</button>
<button class="lct-btn lct-btn--danger">確認移除</button>

變體

修飾子 外觀 用途
--primary 紅底白字 主要動作(加入、建立、套用)
--ghost 透明底、紅框紅字 次要動作
--secondary 白底灰框 取消、返回
--danger 紅底白字 破壞性確認(刪除、移除)

尺寸

<button class="lct-btn lct-btn--primary lct-btn--sm">小</button>
<button class="lct-btn lct-btn--primary">預設</button>
<button class="lct-btn lct-btn--primary lct-btn--lg">大</button>
<button class="lct-btn lct-btn--primary lct-btn--block">滿版(100% 寬)</button>

停用狀態

加上原生 disabled 屬性,或 .is-disabled class:

<button class="lct-btn lct-btn--primary" disabled>停用</button>

Icon 按鈕 .lct-icon-btn

只放圖示的方形按鈕,常用於 Header 右上角。內部放一個 .lct-icon(SVG)。

<button class="lct-icon-btn" aria-label="設定">
  <svg class="lct-icon" viewBox="0 0 256 256"><!-- 你的 icon path --></svg>
</button>

<!-- 啟用態 -->
<button class="lct-icon-btn lct-icon-btn--active" aria-label="側欄">
  <svg class="lct-icon" viewBox="0 0 256 256"><!-- ... --></svg>
</button>

收藏愛心 .lct-favorite

可切換的愛心收藏鈕。搭配 data-lct-toggle="favorite"lucent-ui.js 會自動處理點擊切換與 is-active 狀態。

<button class="lct-favorite" data-lct-toggle="favorite" aria-label="收藏">
  <svg class="lct-icon" viewBox="0 0 256 256">
    <path fill="currentColor" d="M178 40c-20.65 0-38.73 8.88-50 23.89C116.73 48.88 98.65 40 78 40a62.07 62.07 0 0 0-62 62c0 70 103.79 126.66 108.21 129a8 8 0 0 0 7.58 0C136.21 228.66 240 172 240 102a62.07 62.07 0 0 0-62-62Z"/>
  </svg>
</button>

被點選後元素會多出 is-active(愛心變紅)並觸發 lct:favorite 事件,event.detail.active 為目前狀態:

document.addEventListener('lct:favorite', function (e) {
  console.log('收藏狀態:', e.detail.active);   // true / false
});

圖示 .lct-icon

所有圖示用 .lct-icon 統一尺寸與著色(fill: currentColor,所以顏色跟著文字走)。尺寸修飾子:--sm(15px)、預設(18px)、--lg(28px);也可直接覆寫變數 --lct-icon-size 指定任意尺寸。

Lucent 的圖示採用 Phosphor IconsviewBox="0 0 256 256" 規格。你可以自由替換成任何 SVG,只要掛上 class="lct-icon" 即可繼承尺寸與顏色。