広告を利用しています

当サイトは広告を掲載しています。消費者庁が2023年10月1日から施行した景品表示法の規制対象(通称:ステマ規制)にならないよう配慮して記事を作成しています(記事はこちら、消す方法はこちら

【X】開いているDM以外を非表示にして、ホバーで表示するCSS

2023年9月28日X(旧Twitter)

「X(旧Twitter)」のアイコン画像

この記事では、PCウェブサイト版「X(旧Twitter)」のダイレクトメッセージ(DM)で、開いているDM以外は見えないよう隠して、ホバー時だけ表示させるCSSを書きます。

ウェブサイトに自分で作成したCSSを適用できるChrome拡張機能「Stylebotスタイルボット」や「Stylusスタイラス」を利用します。

【X】開いているDM以外を非表示にして、ホバーで表示するCSS

PCで「X(旧Twitter)」を利用している時、ちょくちょくダイレクトメッセージ(DM)ページをスクリーンショット撮影したい時があります。範囲選択でキャプチャーするんですが、不要なDMのリストがうつってしまう時があります。

PCウェブサイト版「X(旧Twitter)」のDM画像

範囲選択でキャプチャーするので、リストがうつらないよう開いているDMの中身だけキャプチャーすればいいだけですし、仮にうつってしまっても画像編集ソフトで切り取ったり、ぼかしをかければいいだけなんですが、やはりそこまで手間をかけるのがめんどくさいです。

「うっかりキャプチャー範囲に入ってしまわないよう開いているDM以外の一覧は非表示にしたいな」と思ったので、CSS作成ついでで記事にします。自身の環境上で他人には影響しません。いつでも元に戻せます。

本記事はChrome拡張機能・Firefoxアドオンを利用できるPCブラウザ限定です。スマホのアプリ版ではできません。

インストール方法

Chromeウェブストアからインストールできます。Chrome拡張機能だけでなく、「Microsoft Edge」と「Firefox」版もあります。本記事では「Stylebot」を紹介しますが、「Stylus」などでもOKです。僕はメインでは「Stylus」を使っています。

「Chromeに追加」をクリックします。

「Stylebot」拡張機能をインストールする手順画像1

「拡張機能を追加」をクリックします。

「Stylebot」拡張機能をインストールする手順画像2

拡張機能のオーバーフローメニューに追加されたらOKです。

「Stylebot」拡張機能をインストールする手順画像3

頻繁に開く場合は、拡張機能のオーバーフローメニューを開いて、「Stylebot」の隣にあるピン留めアイコンをクリックします。ツールバーに直接配置されます。

「Stylebot」拡張機能を直接ツールバーに配置する手順画像

詳しい使い方を知りたい方は、以下の記事を参考にしてみてください。

開いていないDMは、ホバー時以外非表示にするCSS

X(旧Twitter)」にアクセスします。インストールした「Stylebot」拡張機能アイコンをクリック→「Stylebotを開く」をクリックします。

「Stylebot」拡張機能のスクリーンショット1

分かる方は「X(旧Twitter)」内の他ページで誤動作を防ぐために、ドメイン単位ではなくページ単位のスタイルシートに書き込むのがいいかなと思います。DMページだと「**//twitter.com/messages**」です。

右側に白紙のサイドバーが表示されます。もし初めて「Stylebot」を起動した場合は、「ベーシック」という画面が表示されます。下部にある「コード」をクリックすると、白紙のスタイルシート画面を開けます。以下のコードを書き込みます。

/*【DM】開いているメッセージ以外非表示。ホバー時に表示*/
div[aria-label="タイムライン: メッセージ"]:not(:hover) [data-testid="cellInnerDiv"]:has(div[aria-selected="false"]) {
    opacity: 0 !important;
    transition-delay: .7s !important;
}

:not(:hover)」がマウスホバーしていない時(マウスが範囲外の時)という意味で、「opacity: 0」が透明にするという意味です。

transition-delay」は、マウスをDMのリスト外にもっていったときから非表示にするまでの遅延時間です。

上記のサンプルCSSでは、マウスをリストの外にもっていってから0.7秒後に透明化を開始するようにしています。待機なしで非表示にしたい場合は「transition-delay」を書かないようにするか、「0」に数字部分を書き換えます。

注意事項

本記事のCSSは僕が適当に作成したコードです。皆さんの環境によっては使えなかったり、サイト側の仕様変更でいつの間にか使えなくなる可能性もあります。

もし書き込んでも反映されない場合、問い合わせより教えていただければ幸いです。初心者の僕ができる範囲で修正したいと思います。

下記画像のようになればOKです。右上の「×」でスタイルシートを閉じます。

「Stylebot」拡張機能のスクリーンショット2

再度拡張機能ボタンを押して、登録したサイト(例:x.com)がオンになっていることを確認します。オンになっている間は有効になっているということです。

これでマウスをリストの範囲外に置いている場合、現在開いているDM以外のリストが非表示になります。

PCウェブサイト版「X(旧Twitter)」で、CSSを使って開いているDM以外非表示に隠した画像

マウスをリストの範囲内にもっていくと、ゆっくり隠れたDMリストが表示されます。GIF画像を貼っておきます。

PCウェブサイト版「X(旧Twitter)」でマウスホバーで開いていないDMを表示したGIF画像

一時的に無効化したい場合は、「Stylebot」拡張機能アイコンを左クリック→「x.com」をオフにします。完全に使わなくなった場合は書き込んだコードを削除します。

新着メッセージがある場合は表示させたい場合

上記のCSSは、新着メッセージがある場合でもアクティブDMでなければ非表示にします。アクティブDMと新着メッセージがあるDMは表示させたい場合、上記CSSではなく以下のCSSを利用します。

/*【DM】開いているメッセージと新規メッセージ以外非表示。ホバー時に表示*/
div[aria-label="タイムライン: メッセージ"]:not(:hover) [data-testid="cellInnerDiv"]:has(div[aria-selected="false"]):not(:has(:is(.r-1ow6zhx, .r-ltgprq, .r-1ozfoo7, .r-1uvorsx, .r-j240cv))) {
    opacity: 0 !important;
    transition-delay: .7s !important;
}

マウスをDMのリスト外にもっていくと、開いているDMと新着メッセージがあるDM以外が非表示になります。

PCウェブサイト版「X(旧Twitter)」で、開いているDMと新着メッセージがあるDMをCSSで表示した画像

感想

以上、PCウェブサイト版「X(旧Twitter)」のダイレクトメッセージ(DM)で、開いているDM以外は見えないよう隠して、ホバー時だけ表示させるCSSについてでした。

「メッセージリクエスト」を非表示にする記事も書いています。

2023年9月28日X(旧Twitter)

Posted by ナポリタン寿司