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つの方法として紹介しておきます。


WordPressのカスタムメニューでは、内部リンクに対してカスタムリンクは使わない!
Visual Studio Codeの拡張機能「Trailing Spaces」でコードの中にある余計なスペースを表示する
疑似クラスの:hoverと:activeのスマホでの挙動の違い
コードスニペットの管理方法や命名規則について
WordPressのメディアライブラリで画像を追加するときに表示される「HTTP エラー」の解消方法
スクロール時に表示領域に画面がくっつくようになる処理をCSSだけで実現する「scroll-snap」
Emmetで複数のタグを一括展開して、コーディングスピードをさらに上げる方法
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
効率的なマークアップが出来るようになるEmmetでCSSを書く時の基本
コーディング時にちゃんと意識したい複数語の連結方法一覧(キャメルケース・スネークケース・ケバブケース)
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
BetterTouchToolの設定ファイルをエクスポート・インポートする方法
Keyboard MaestroでGoogle Chromeのタブグループ化にショートカットキーを割り当てておく
Fantastical 2は音声入力を使って予定を追加するのが便利!
スマホやPCにプッシュ通知をしてくれる「Push7」をブログに追加する方法
Chrome拡張機能「PocketTube」を使って、YouTubeの登録チャンネルをグループ分けして管理する
ウェブ開発時のテスト環境と本番環境の取り違えを防ぐChrome拡張機能「Environment Marker」
macOSのシステム環境設定「ユーザとグループ」の設定見直し
Visual Studio Codeのマルチカーソル機能で文字操作を一括で行う
Workspacesに新たな機能を追加する「プラグイン」の追加方法と使い方
さくらのレンタルサーバで.htaccessが原因で500エラーになってしまう場合のチェックリスト