📄

label で input[type="file"] を装飾するな

に公開
3
GitHubで編集を提案

Discussion

f-yanf-yan

コードの例だとinput[type="file"]で使用できるドラッグ&ドロップによるファイル選択も使えなくなりますね。

やはり、「label で input[type="file"] を装飾するな」ですかねー

glassonion1glassonion1

input要素をdisplay:noneにしちゃうと余計なtabindex設定が必要になるので::file-selector-button疑似要素を使ったほうがよいと思います。::file-selector-button使ってスタイルすればJSの実装ゼロにできますよ。
https://stackoverflow.com/questions/572768/styling-an-input-type-file-button

Tailwindも::file-selector-buttonに対応してます。
https://tailwindcss.com/docs/hover-focus-and-other-states#file-input-buttons

fdmfdm

input::file-selector-buttonにdisplay:noneを設定するとファイル名を表示するのはそのままでボタンだけ消せますね。