ホームページ >ウェブフロントエンド >CSSチュートリアル >JavaScript を使用せずにカスタム ファイル入力ボタンのスタイルを設定するにはどうすればよいですか?

JavaScript を使用せずにカスタム ファイル入力ボタンのスタイルを設定するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 19:33:11308ブラウズ

How Can I Style Custom File Input Buttons Without JavaScript?

カスタム ファイル入力スタイル: ラベルベースのアプローチ

多くの開発者は、ファイル アップロード ボタンの外観をカスタマイズするのに苦労しています。 JavaScript は解決策を提供できますが、さらなる課題も引き起こす可能性があります。幸いなことに、HTML

  • JavaScript 不要:
  • スタイリングの自由: 一部のブラウザ固有のスタイル手法とは異なり、
  • セマンティック コード:

実装

このアプローチを実装するには、次の手順に従います。

  1. 隠しファイルのアップロード入力を
  2. のスタイルを設定します。コンテナをボタンに似せます。
  3. ユーザーによるデフォルト ボタンの操作を防ぐため、入力を表示領域の絶対外に配置します。

サンプル コード

<label class="myLabel">
    <input type="file" required>
    <span>My Label</span>
</label>
label.myLabel input[type="file"] {
    position:absolute;
    top: -1000px;
}

/***** Example custom styling *****/
.myLabel {
    border: 2px solid #AAA;
    border-radius: 4px;
    padding: 2px 5px;
    margin: 2px;
    background: #DDD;
    display: inline-block;
}
.myLabel:hover {
    background: #CCC;
}
.myLabel:active {
    background: #CCF;
}
.myLabel :invalid + span {
    color: #A44;
}
.myLabel :valid + span {
    color: #4A4;
}

この例では、入力は上部: -1000px で画面外に配置されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。