まず、HTMLを使用して基本的なMATタブを作成します。以下は、3つのタブを持つMATタブの例です。
<div class="mat-tab">
<button class="tab-link active">タブ1</button>
<button class="tab-link">タブ2</button>
<button class="tab-link">タブ3</button>
</div>
次に、CSSを使用してタブのスタイルを調整します。以下のコードは、タブとアクティブなタブのスタイルを変更する例です。
.mat-tab {
display: flex;
}
.tab-link {
padding: 10px;
background-color: #eaeaea;
border: none;
cursor: pointer;
}
.tab-link.active {
background-color: #ccc;
}
最後に、JavaScriptを使用してタブの切り替えとバッジの追加を実装します。以下は、タブがクリックされたときにアクティブなタブを切り替えるコードです。
const tabLinks = document.querySelectorAll('.tab-link');
tabLinks.forEach((link) => {
link.addEventListener('click', () => {
tabLinks.forEach((link) => link.classList.remove('active'));
link.classList.add('active');
});
});
バッジを追加するには、各タブに対してdata-badge
属性を追加し、それぞれのタブに異なる数値を設定します。以下のコードは、バッジを表示する例です。
<div class="mat-tab">
<button class="tab-link active" data-badge="3">タブ1</button>
<button class="tab-link" data-badge="7">タブ2</button>
<button class="tab-link" data-badge="1">タブ3</button>
</div>
JavaScriptを使用して、各タブのバッジを取得して表示する方法もあります。
const tabLinks = document.querySelectorAll('.tab-link');
tabLinks.forEach((link) => {
const badgeValue = link.dataset.badge;
if (badgeValue) {
const badge = document.createElement('span');
badge.classList.add('badge');
badge.textContent = badgeValue;
link.appendChild(badge);
}
});
以上の方法を使用して、MATタブにバッジを追加することができます。これにより、ユーザーがタブのコンテンツを切り替える際に、各タブに関連する情報を簡単に表示することができます。