このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

::file-selector-button

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2021年4月⁩.

::file-selector-buttonCSS擬似要素で、<input> 要素の type="file" のボタンを表します。

試してみましょう

input { margin-top: 1rem; } input::file-selector-button { font-weight: bold; color: dodgerblue; padding: 0.5em; border: thin solid grey; border-radius: 3px; } 
<label for="avatar">Choose a profile picture:</label><br /> <input id="avatar" type="file" name="avatar" accept="image/png, image/jpeg" /> 

構文

css
selector::file-selector-button 

基本的な例

HTML

html
<form> <label for="fileUpload">ファイルをアップロードしてください</label> <input type="file" id="fileUpload" /> </form> 

CSS

css
input[type="file"]::file-selector-button { border: 2px solid #6c5ce7; padding: 0.2em 0.4em; border-radius: 0.2em; background-color: #a29bfe; transition: 1s; } input[type="file"]::file-selector-button:hover { background-color: #81ecec; border: 2px solid #00cec9; } 

結果

::file-selector-button は要素全体であり、UA スタイルシートのルールと一致することを覚えておいてください。 特に、フォントや色は必ずしも input 要素から継承されるとは限りません。

代替の例

HTML

html
<form> <label for="fileUpload">ファイルをアップロードしてください</label> <input type="file" id="fileUpload" /> </form> 

CSS

css
input[type="file"]::file-selector-button { border: 2px solid #6c5ce7; padding: 0.2em 0.4em; border-radius: 0.2em; background-color: #a29bfe; transition: 1s; } input[type="file"]::-ms-browse:hover { background-color: #81ecec; border: 2px solid #00cec9; } input[type="file"]::-webkit-file-upload-button:hover { background-color: #81ecec; border: 2px solid #00cec9; } input[type="file"]::file-selector-button:hover { background-color: #81ecec; border: 2px solid #00cec9; } 

仕様書

Specification
CSS Pseudo-Elements Module Level 4
# file-selector-button-pseudo

ブラウザーの互換性

関連情報