Information

カテゴリ一覧で特定の記事だけクリックできなくする方法

SWELLのカテゴリ一覧で特定の記事だけクリック不可にする方法

カテゴリ一覧では基本的に各記事がクリックできる仕様ですが、事情によっては特定の記事だけ遷移させたくないケースがあります。
今回は、特定URLを含む投稿だけクリック不可にした実装をご紹介。
疑似要素で安全に制御します。

なぜ特定記事だけクリック不可にしたのか

公開状態は維持したまま、一覧からの遷移だけ止めたい場面は意外とあります。
たとえば、古い事例を一時的に見せたくない場合や、特定導線を制御したい場合です。

H2:使用したCSS

.category .p-postList__item:has(.p-postList__link[href=”your_url”]),
.category .p-postList__item:has(.p-postList__link[href=”your_url”]) {
position: relative;
}
.category .p-postList__item:has(.p-postList__link[href*=”your_url”])::after,
.category .p-postList__item:has(.p-postList__link[href*=”your_url”])::after {
content: “”;
position: absolute;
inset: 0;
z-index: 10;
background: transparent;
cursor: default;
}
.category .p-postList__link[href*=”your_url”],
.category .p-postList__link[href*=”your_url”] {
pointer-events: none!important;
cursor: default!important;
}

実装の考え方

pointer-events: none でリンク自体を無効化しつつ、::after で透明な膜を重ねています。
これにより、ユーザーがクリックしても反応しない状態をより確実に作れます。

注意点

:has() は便利ですが、古いブラウザとの相性は事前に確認しておきたいところです。
最近の環境ではかなり使いやすくなっていますが、クライアントワークでは検証もセットで行うのが安心です。

まとめ

一覧全体ではなく、特定記事だけ導線を止めたいときに便利な方法です。
「非公開にはしたくないが、一覧からは飛ばせたくない」という場面で役立ちます。

つづく

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次