Google Chromeでinput要素の補完機能を使うと背景に色がついてしまう問題

Google Chromeでinput要素をクリックすると、補完候補が表示されます。
そしてこれをクリックすると、背景色がついた状態で候補が入力されます(Google Chromeのバージョンによるのか分かりませんが、「白色」だったり「青色」「黄色」のときなど背景色は様々です)。

白色の場合はまだ気になりませんが、「青色」や「黄色」だと気になります。
発生条件
これはGoogle Chromeに限らずですが、ブラウザでは<input>のname属性と入力した情報(value属性)を保存しているようです。
そして、他サイトも含めて、同じname属性の<input>をクリックしてフォーカスしたときに候補が表示されます。
この候補をクリックして入力した情報にはCSSの疑似クラスの:autofillがつきます。
そしてGoogle Chromeでは、この:autofill(:-webkit-autofill)にデフォルトで背景色が設定されているため、背景色がついてしまいます。
解決策
普通にbackground-colorで上書きすることもできなかったため、少しトリッキーなやり方で対応します。
box-shadowでインナーシャドウを付けて上書きする
box-shadowで白色のインナーシャドウをつけて無理矢理背景色を上書きして対応します。
input:-webkit-autofill {
box-shadow: 0 0 0px 999px #fff inset;
}transitionで変化しないようにする
transitionを使って、補完後も色が変わらないようにしています。
input:-webkit-autofill {
transition: background-color 10000s ease-in-out 0s;
}そもそも補完されないようにする
autocompleteでoffを指定すると、そもそも候補一覧が表示されなくなって、補完されなくなります。
<input type="text" name="name" autocomplete="off">見た目の問題を解決するために、補完が使えなくなって利便性が損なわれるので対応としてはイマイチですが、1つの方法として紹介しておきます。




SourceTreeを開くと「’git status’ failed with code 69:’」というポップアップが出てくる場合の解決方法
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!
gitignoreで特定ファイルをGitで無視する方法
CodeAnywhereでターミナルに触る練習をする
さくらのレンタルサーバで.htaccessが原因で500エラーになってしまう場合のチェックリスト
iOS Safariで文章の最後の1文字だけ改行されてしまう現象の対処法
pointer-eventsプロパティでクリックイベントを無効化にする|気になるCSSプロパティ
コーディング時にちゃんと意識したい複数語の連結方法一覧(キャメルケース・スネークケース・ケバブケース)
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」