ホームページでお問い合わせフォームを作っていて気付いたのですが、ブラウザによってプレースホルダの文字色に違いがありました。
プレースホルダというのは、こういうヤツ。
枠の中に文字が入っていない状態では、グレー色で表示されていて、何か文字を入力しようとすると消えてくれる、ガイド的な便利なヤツです。
この文字の色に違いがあったのです。
具体的に言うと、Firefoxだけ他のブラウザより文字色が薄い。
Firefox規定のCSSのせい?
結論から言うと、CSSでプレースホルダに対してopacityを指定してあげることで解決できました。例えば以下のように指定します。
input::placeholder {
color: #aaa; //← 色はご自由に
opacity: 1;
}
こうすることで、Firefoxでも他のブラウザと同じ文字色(色の濃さ)で表示されるようになりました。
さいごに
Firefoxで色合わせをすると、ChromeやOperaなどでは色が濃すぎて、既に文字が入力してあるんじゃないか、と勘違いしやすい状況に。
かといって、Chromeなどに合わせると、今度はFirefoxで薄すぎて、ガイド的な役目を果たすはずのプレースホルダがほとんど見えない、という状況になってしまう。
でも、opacity:1を指定しておくことで、ブラウザによって見やすさが変わってしまうことが無くなり、意図した通りの表示になるのでした。
いや~、良かった良かった。
ということで、無事解決です!お疲れ様でした!
初稿:2022年4月25日
コメント