Web ページでは、基本的に <input type="file"> 要素はファイルをアップロードするときに使用されます。デフォルトのスタイルは次のとおりです。 Chromeの場合: IEの場合: 上記のいずれの場合も、スタイルは比較的シンプルで、多くの Web ページのスタイルとは調和しません。 ユーザーのニーズやデザインスタイルに応じて表示スタイルを変更する機会は数多くあります。 次のようなブートストラップスタイルのアップロードボタンを作成したい場合、どのように実装できますか? アップロードボタンを構築するために必要な基本要素 コードをコピー コードは次のとおりです。 <span> <span>アップロード</span> <input type="file"> </span> 効果(クローム): 現在表示されているのは 2 行で表示されます。 周辺を div に置き換えない理由は、IE7 ブラウザでは、インラインに設定されていない限り、その幅が最大可能な幅まで拡張されるためです。 inline に設定すると要素の幅を調整できないため、span を使用して inline-block に設定するとこの問題を解決できます。 スタイルを追加して 2 行を 1 行にします コードをコピー コードは次のとおりです。 <span"> <span>アップロード</span> <input type="file"> </span> css: コードをコピー コードは次のとおりです。 .fileinput-button { position: relative; display: inline-block; } .fileinput-button input{ position: absolute; right: 0px; top: 0px; } 効果: デフォルトでは水色の枠線はありません。マウスをクリックした後にのみ表示されます。ここでは見やすくするために表示されています。 外側のスパンを display:relative に設定し、入力を display:absolute に設定すると、それらはすべてドキュメント フローの外側になります。 入力を外側の範囲に限定し、絶対位置決めを行うことで、本来の2行表示が1行表示に変更されます。 実際、ここでオーバーフローしています。実際の幅は「アップロード」テキストの幅です。fileinput-button スタイルを変更して、overflow: hidden を追加します。 コードをコピー コードは次のとおりです。 .fileinput-button { 位置: 相対; 表示: インラインブロック; オーバーフロー: 非表示; } 効果: 非常に興味深いです。上部と右側に青い境界線が表示されていますが、これは実際には左側と下部のオーバーフロー部分を隠しています。 このとき、マウスで「アップロード」という単語をクリックすると、実際には入力をクリックすることになり、「開く」ダイアログ ボックスが表示される場合があります。これは、表示階層では入力が「アップロード」よりもユーザーに近いためです。 入力位置の右側に注意してください。なぜ左側の配置を使用しないのですか。 左に変更する場合。 効果(クローム): 効果(IE): Chromeでは入力要素の選択ボタンが露出していますが、後から透明度を設定することで透明にできるので問題ありません。 ただし、入力ボックスは IE で公開されます。重要なのは、マウスが入力ボックスに移動すると、ポインターが入力状態に変わることですが、これは非常に扱いにくいです。 右配置方法を使用して入力ボックスを左に移動すると、IE でマウス ポインターが入力状態に変わるのを回避できます。 透明な入力要素 CS: ... コードをコピー コードは次のとおりです。 .fileinput-button { position: relative; display: inline-block; overflow: hidden; } .fileinput-button input{ position: absolute; left: 0px; top: 0px; opacity: 0; -ms-filter: 'alpha(opacity=0)'; } 効果: 入力は完全に消えてしまいましたが、「アップロード」をクリックすると引き続き機能します。 IE8+ をサポートできます。 Bootstrapをインポートし、ボタンスタイルを追加する ヘッド内に外部 CSS および JS への参照を追加します。 コードをコピー コードは次のとおりです。 <link rel="stylesheet" href="bootstrap/bootstrap.css"> <link rel="stylesheet" href="bootstrap/bootstrap-theme.css"> <script src="bootstrap/jquery-1.10.2.js"></script> <script src="bootstrap/bootstrap.js"></script> ボタンスタイルを追加します。 コードをコピー コードは次のとおりです。 <span> <span>アップロード</span> <input type="file"> </span> 効果: サイズの問題を解決する fileinput-button スタイルに width:100px を追加し、外側のスパンを 100px 幅に設定すると、下部をクリックしても反応がないことがわかります。これは、入力がデフォルトのサイズであり、下部をカバーできないためです。 入力部分のフォントサイズを大きく設定して拡大することで、重なりの問題を解決できます。ここでは 200 px に設定しています。 コードをコピー コードは次のとおりです。 .fileinput-button input{ position:absolute; right: 0px; top:0px; opacity: 0; -ms-filter: 'alpha(opacity=0)'; font-size: 200px; } これにより、カバレッジの問題が解決されます。 仕上げる。 参考: jQuery-File-Upload IE7 に対応させたい場合は、jQuery-File-Upload の記述方法を参考にしてください。 コード: XML/HTML コードコンテンツをクリップボードにコピー
|
<<: vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する
>>: Mysqlチュートリアルでのグループランキングの実装例の詳細な説明
目次1. ES 構文のゲッターとセッター2. ES構文でのdefineProperty 3. Vue...
MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあま...
Centos6.4 で mysql5.7.18 をインストールするための具体的な手順が全員に共有され...
アンカータグの使用法:同じドキュメント内の特定の場所にリンクすることをアンカー リンクと呼びます。ア...
目次序文最適化ソ連オンデマンドインポート1. ルーティングファイルでコンポーネントをオンデマンドでイ...
<br />私の仕事で使用しているアノテーションの書き方の基準をまとめました。技術的な内...
目次1. SVNとは何か2. SVNサーバーとクライアントの取得方法3. SVN ワークフローとアー...
導入メタタグは、HTML言語のHEAD領域にある補助タグです。 meta は、ページの説明、キーワー...
導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...
目次1. 構造文字列2. タプルを返す3. Dict辞書にアクセスする4. 図書館を利用する5. リ...
今日はvueとmomentで作ったカウントダウンを紹介したいと思います。具体的な内容は以下のとおりで...
インストール環境の説明•システムバージョン: windows10 •MySQL バージョン: mys...
<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...
図に示すように: しかし、IE6で表示すると、right:1px:になります。 IE6 には、幅と高...
まず解決策を見てみましょう #------------mysql の root ユーザーに権限を付与...