カスタマイズ
CSS カスタムプロパティ (CSS 変数) 21 個で配色・余白・行数・ヘッダー高さ補正まで子テーマからクリーンに上書きできます。ダークモード / アクセシビリティ / レスポンシブも標準対応です。
CSS 変数の上書き方法
子テーマの style.css や追加 CSS で .kstls-tubelist セレクタに対して変数を再定義します。
.kstls-tubelist {
--kstls-gap: 24px;
--kstls-radius: 10px;
--kstls-title-color: #111;
--kstls-title-lines: 3;
--kstls-sub-color: #888;
}
特定のショートコードだけに適用したい場合は、ショートコードを囲む親要素にクラスを付けて scoping します。
全 CSS 変数一覧 (21 個)
レイアウト系
| 変数 | 初期値 | 用途 |
|---|---|---|
--kstls-cols | 3 | グリッド列数 (ショートコード cols 属性で自動上書き) |
--kstls-gap | 20px | カード間の隙間 |
--kstls-radius | 6px | サムネイル・ボタンの角丸半径 |
--kstls-title-lines | 2 | タイトルの行数制限 (title_lines 属性で自動上書き) |
--kstls-scroll-offset | 80px | ページネーション切替時のスクロール上端オフセット (固定ヘッダー対応) |
配色 — 文字・リンク
| 変数 | 初期値 | 用途 |
|---|---|---|
--kstls-title-color | #1d2327 | タイトル文字色 |
--kstls-sub-color | #646970 | 日付・視聴回数・概要文の文字色 |
--kstls-link-color | inherit | カード全体リンクの文字色 (テーマからの継承) |
--kstls-bg | transparent | コンテナ全体の背景色 |
配色 — コントロール (ボタン)
| 変数 | 初期値 | 用途 |
|---|---|---|
--kstls-control-bg | #ffffff | ページ番号 / 矢印ボタンの背景 |
--kstls-control-color | #1d2327 | 同 文字色 |
--kstls-control-border | #d0d4d9 | 同 ボーダー色 |
--kstls-control-active-bg | #1d2327 | 現在ページ / 「もっと見る」ボタンの背景 |
--kstls-control-active-color | #ffffff | 同 文字色 |
配色 — その他
| 変数 | 初期値 | 用途 |
|---|---|---|
--kstls-duration-bg | rgba(0,0,0,0.75) | サムネ右下の再生時間バッジ背景 |
--kstls-duration-color | #ffffff | 同 文字色 |
--kstls-error-bg | #fff7f7 | エラーメッセージ背景 (編集者にのみ表示) |
--kstls-error-border | #d63638 | 同 左ボーダー |
ダークモード自動対応
OS / ブラウザのダークモード設定 (prefers-color-scheme: dark) を検知すると、CSS 変数 8 個が自動的に上書きされます。利用者側で何もする必要はありません。
@media (prefers-color-scheme: dark) {
.kstls-tubelist:not(.kstls-no-dark) {
--kstls-title-color: #f0f0f1;
--kstls-sub-color: #b4b8be;
--kstls-control-bg: #2c3338;
--kstls-control-color: #f0f0f1;
--kstls-control-border: #50575e;
--kstls-control-active-bg: #f0f0f1;
--kstls-control-active-color: #1d2327;
--kstls-duration-bg: rgba(0, 0, 0, 0.85);
}
}
ダークモード自動対応を 無効化したい場合は、ショートコードを囲む親要素にクラス kstls-no-dark を付与してください。例: <div class="kstls-no-dark">[ks_tubelist ...]</div>
アクセシビリティ仕様
ARIA 属性
- 外側 wrapper に
role="region"+aria-label="動画一覧" - カルーセル prev/next:
aria-label="前へスクロール"/aria-controls="(instance-id)" - ページネーション数字:
aria-label="ページ N"/ 現在ページにaria-current="page" - もっと見るラッパー:
aria-live="polite"で残数更新を通知 - 区切り文字 (・) は
aria-hidden="true"でスクリーンリーダーから除外
prefers-reduced-motion 対応
「視覚効果を減らす」設定の利用者には、トランジション・スムーズスクロール・カルーセル scroll-snap がすべて無効化されます。
@media (prefers-reduced-motion: reduce) {
.kstls-tubelist *,
.kstls-tubelist *::before,
.kstls-tubelist *::after {
transition: none !important;
animation: none !important;
scroll-behavior: auto !important;
}
}
キーボード操作
- カルーセル viewport が
tabindex="0"でフォーカス可能 - ArrowLeft / ArrowRight: 約 90% 分スクロール
- Home / End: 先頭 / 末尾へジャンプ
- ページネーション・もっと見る・詳細トグルはすべて
<button>/<details>で実装、ネイティブのキーボード操作に対応
テーマとの衝突対策
多くのテーマは .entry-content a 等にオレンジ色や下線を設定しています。本プラグインは specificity を高めた以下のセレクタで強制的に上書きします。
.kstls-tubelist a.kstls-link,
.kstls-tubelist a.kstls-link:link,
.kstls-tubelist a.kstls-link:visited,
.kstls-tubelist a.kstls-link:hover,
.kstls-tubelist a.kstls-link:focus,
.kstls-tubelist a.kstls-link:active {
color: var(--kstls-link-color, inherit);
text-decoration: none;
text-decoration-line: none;
text-decoration-color: transparent;
border: 0;
box-shadow: none;
}
テーマがさらに強い !important を使っている場合は、子テーマで上記セレクタに !important を追加してください。
パフォーマンス機能
- filemtime cache busting: CSS / JS の URL に
?ver=1.0.1.<filemtime>を付与。ファイル更新時に CDN キャッシュが即座に切り替わります - FOUC 防止: 本文にショートコードが検出された場合、
wp_head段階で CSS を先行 enqueue - 初回バッチ eager: per_page 件目までのサムネは
loading="eager"+fetchpriority="high"で LCP 改善 - 後続 lazy: per_page 件目以降は
loading="lazy"+decoding="async" - transient キャッシュ: 取得元 + 件数 + 並び順の組み合わせを MD5 キーで保持 (デフォルト 3600 秒)