Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!

Safari 12.1から、Macの外観モードの状態に応じてメディアクエリで判定できるようになりました。
ちなみに、外観モードはmacOS Mojave以降で[システム環境設定]→[一般]→「外観モード:」で変更できる、UIの色を選択できる機能の事です。

対応ブラウザが現状Safariの12.1でないと使えないので、わざわざ実装する機会は少ないと思いますが、Macのシステム環境内の状態を判定できるのは面白いので紹介しておきます。
実際の動作
Safari 12.1からCSSでダークモードの判定が出来るようになった。メディアクエリで「prefers-color-scheme: dark」を指定する。https://t.co/d9EeFLze3x pic.twitter.com/yX3E1NPNef
— サイトウ マサカズ (@31mskz10) February 2, 2019
実際の動作を確認するためにはSafariのバージョンが12.1以上の必要があるため、AppleのDeveloperサイトよりSafariの12.1のベータ番をダウンロード(もしくはSadari Technology Previewをダウンロード)してください。
Safari12.1で下のプレビューを見ながらダークモードに切り替えると、それに合わせてスタイルが変わります。
実装方法
実装方法は非常に簡単で、メディアクエリで「prefers-color-scheme: dark」または「prefers-color-scheme: light」を指定するだけです。Safari 12.1のRelease Notesにもそのように書かれています。
Added support for the CSS media queries prefers-color-scheme: light and prefers-color-scheme: dark.
@media (prefers-color-scheme: dark){
ダークモード時の内容
}
@media (prefers-color-scheme: light){
ライトモード時の内容
}この感じだと、iOSにもダークモードが搭載されそうですね。
そうなってくると、ブログやニュースサイトなどの読み物系のサイトには、どんどんダークモードが実装されていきそうです。

SourceTreeでマージ時に「fatal: You have not concluded your merge (MERGE_HEAD exists).」と表示される場合の対処法
Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
Google Chromeでinput要素の補完機能を使うと背景に色がついてしまう問題
Nuxt.jsでページを作成・追加する方法|Nuxt.jsの基本
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
CSSだけで画像の比率を保ってトリミングできる「object-fit」
Nuxt.jsの基本と最初のセットアップ「プロジェクトの作成と起動をするまでの流れ」
既存プロジェクトにCompassが導入されている場合に備えて、最低限Sassのコンパイルだけでも行えるようにしておく
.htaccessを使って、httpからhttpsへリダイレクトする設定方法
サイトを運営する時必ず登録しておきたいGoogle Search Console(サーチコンソール)の登録方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
MacとiPadを同じマウスやキーボードで操作できる「ユニバーサルコントロール」
Google Maps APIをローカル開発環境で使用するときの制限設定方法
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Gmailでとりあえず最初にしておくと便利な設定
Keyboard Maestroでfnを使ったショートカットキーを設定したい場合は、BetterTouchToolを経由するのがオススメ
Vue CLIでGA4を導入する方法
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
macOS Catalinaになってから追加されたシステム環境設定の「Apple ID」にある項目
Macのダイアログを強化するDefault Folder Xの使い方
Figmaでテキストの一括置換を行うプラグイン「Find and Replace」