主動狀態

Framework7 使用所謂的「主動狀態」來突顯您點按時的連結和按鈕。這樣做是為了讓 Framework7 應用程式表現得像原生應用程式,而不是像網路應用程式。

它的運作方式幾乎與 CSS :active 選擇器相同,它會在您點按連結和按鈕時,為它們新增 active-state 類別。唯一的差別是它會在短暫的時間間隔後新增這個類別,這可以防止在頁面捲動時出現錯誤的突顯。

因此,當您撰寫 CSS 樣式時,您應該撰寫類似這樣的主動狀態

/* Usual state */
.my-button {
    color: red;
}
/* Active/tapped state */
.my-button.active-state {
    color: blue;
}

您可以在 touch.activeStateElements 應用程式參數 中控制哪些元素會接收 active-state 類別。

在某些情況下,您可能會遇到巢狀主動狀態元素。您可以透過將 prevent-active-state-propagation 類別新增到子主動狀態元素,來防止在父元素上設定主動狀態

<div class="card card-expandable">
  <div class="card-content">
    <!-- Tap on button will prevent setting active-state on parent card -->
    <a class="button prevent-active-state-propagation">...</a>
  </div>
</div>

若要停用在元素本身(及其子元素)上設定主動狀態類別,我們需要將 no-active-state 類別新增到該元素

<!-- link without active-state -->
<a href="..." class="link no-active-state">...</a>