検索
ホームページウェブフロントエンドH5 チュートリアルhtml5_html5 チュートリアル スキルをサポートする入力ファイル アップロード ファイル スタイルのブラウザ ソリューション

最近、キャンバスを使用して画像ピクセルを処理するときにファイル アップロード コントロールを使用しましたが、ファイル アップロード コントロールに関する 2 つの互換性の問題を発見しました。 1 つは、Firefox では CSS を使用してファイル アップロード コントロールの幅を変更できないこと、もう 1 つは、ファイル アップロード コントロールの外観と動作がブラウザによって異なることです。
以下は、IE10、firefox16、chrome22、opera12、safari5.1.7 のファイル アップロード コントロールのスクリーンショットです:


IE10 では、入力ボックスをダブルクリックするか、 ボタンをクリックすると、ファイル選択ボックスが表示されます。他のブラウザで入力ボックス、ボタン、またはテキストをクリックすると、ファイル選択ボックスがトリガーされることがあります。
この混乱を考慮すると、スタイルと行動を統一する必要があります。以下は私の互換性スキームです。
まず、各ブラウザでの最終結果のスクリーンショットを見てください:


基本的な考え方: ファイル アップロード コントロールをシミュレートする入力ボックスとボタンを作成します。ファイルアップロードコントロールを透明に設定します。ファイル アップロード コントロールをシミュレーションに使用するボタンの右側に配置します。要素の重なり順を変更して、ボタンが一番下、ファイル アップロード コントロールが中央、入力ボックスが一番上になるようにします。ファイルの選択が完了したら、ファイル アップロード コントロールの値をシミュレーションに使用する入力ボックスに割り当てます。
原則: 異なるブラウザでは、ファイル アップロード コントロールのボタンの高さは調整可能であり、ファイル アップロード コントロールの右側をクリックすることができます。したがって、ファイル アップロード コントロールの高さを調整し、ファイル アップロード コントロールの位置を調整 (右寄せ) することで、ファイル アップロード コントロールのクリック可能領域をシミュレーションに使用するボタンで完全に覆うことができます。ファイル アップロード コントロールが透過的で、ユーザーがシミュレーションに使用されるボタンをクリックすると、ファイル選択ボックスがトリガーされます。ただし、同時に、ファイル アップロード コントロールのスタック順序をシミュレーションに使用する入力ボックスよりも前にすることはできません。そうしないと、ユーザーが表示される入力ボックスにマウスを置くと、カーソルがテキストではなく、カーソルを示しているように見える可能性があります。矢印 (および矢印をクリックするとファイル選択ボックスがポップアップ表示されます) となり、ユーザーは混乱します。
実装: まず、コードの HTML 部分を確認します。

コードをコピーします
コードは次のとおりです:




次に、コードの CSS 部分があります。

コードをコピーします
コードは次のとおりです:

#file {
位置:相対;
幅:226px;
ボーダー:1px #99f ソリッド;
フォントサイズ:16px; >マージン: 0;
パディング:0;
垂直整列:中間;
#ファイル入力[タイプ=テキスト] "] {
border:3px none;
width:172px;
z-index:4;
}
#file input[type="button"] {
width: 54px;
高さ:25px;
z-index:2;
#file input[type="file"] {
right:0px;
height:25px;
opacity:0;
z-index:3;


最後の JavaScript 部分は、入力ボックスが表示されるまでファイルのアップロードを制御します。





コードをコピー

コードは次のとおりです。


window.onload=function( ){
var file=document.querySelector("#file input[type='file']");
var text=document.querySelector("#file input[type='text']"); file.addEventListener("change",assign,false); 関数 assign(){ text.value=file.value;
ようこそ 連絡または修正するにはメッセージを残してください。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
H5は何を参照していますか?コンテキストの探索H5は何を参照していますか?コンテキストの探索Apr 12, 2025 am 12:03 AM

H5ReferStoHtml5、apivotaltechnologyinwebdevelopment.1)html5introduceSnewelementsandapisforrich、dynamicwebapplications.2)Itupp ortsmultimediawithoutplugins、endancingurexperiencecrossdevices.3)semanticelementsimprovecontentstructurendseo.4)H5'srespo

H5:ツール、フレームワーク、およびベストプラクティスH5:ツール、フレームワーク、およびベストプラクティスApr 11, 2025 am 12:11 AM

H5開発で習得する必要があるツールとフレームワークには、Vue.JS、React、Webpackが含まれます。 1.Vue.jsは、ユーザーインターフェイスの構築に適しており、コンポーネント開発をサポートします。 2.複雑なアプリケーションに適した仮想DOMを介したページレンダリングを最適化します。 3.Webpackは、モジュールのパッケージングに使用され、リソースの読み込みを最適化します。

HTML5の遺産:現在のH5の理解HTML5の遺産:現在のH5の理解Apr 10, 2025 am 09:28 AM

html5hassificlytransformdedwebdeveverment byintroducingsingingelements、endincemultimediasupport、およびrequrovingperformance.1)itmadewebsitesmoreaccessibleandseo-frendlywithsemantelementslike、and.2)

H5コード:アクセシビリティとセマンティックHTMLH5コード:アクセシビリティとセマンティックHTMLApr 09, 2025 am 12:05 AM

H5は、セマンティック要素とARIA属性を介して、WebページのアクセシビリティとSEO効果を改善します。 1.使用などを使用して、コンテンツ構造を整理し、SEOを改善します。 2。ARIA-LabelなどのARIA属性はアクセシビリティを強化し、支援技術ユーザーはWebページをスムーズに使用できます。

H5はHTML5と同じですか?H5はHTML5と同じですか?Apr 08, 2025 am 12:16 AM

「H5」と「HTML5」はほとんどの場合同じですが、特定の特定のシナリオでは異なる意味を持つ可能性があります。 1。「HTML5」は、新しいタグとAPIを含むW3C定義標準です。 2。 "H5"は通常、HTML5の略語ですが、モバイル開発では、HTML5に基づくフレームワークを参照する場合があります。これらの違いを理解することは、プロジェクトでこれらの用語を正確に使用するのに役立ちます。

H5の機能は何ですか?H5の機能は何ですか?Apr 07, 2025 am 12:10 AM

H5、またはHTML5は、HTMLの5番目のバージョンです。開発者により強力なツールセットを提供し、複雑なWebアプリケーションを簡単に作成できるようにします。 H5のコア関数には、次のものが含まれます。1)Webページにグラフィックとアニメーションを描画できる要素。 2)Webページ構造をSEOの最適化を明確かつ助長させるなどのセマンティックタグなど。 3)Geolocationapiなどの新しいAPIは、ロケーションベースのサービスをサポートします。 4)互換性テストとポリフィルライブラリを通じて、クロスブラウザーの互換性を確保する必要があります。

H5リンクの実行方法H5リンクの実行方法Apr 06, 2025 pm 12:39 PM

H5リンクを作成する方法は?リンクターゲットを決定します。H5ページまたはアプリケーションのURLを取得します。 HTMLアンカーの作成:< a>を使用しますアンカーを作成し、リンクターゲットURLを指定するタグ。リンクプロパティの設定(オプション):必要に応じて、ターゲット、タイトル、およびオンクリックプロパティを設定します。 Webページに追加:リンクを表示するWebページにHTMLアンカーコードを追加します。

H5互換性の問題を解決する方法H5互換性の問題を解決する方法Apr 06, 2025 pm 12:36 PM

H5互換性の問題のソリューションには、次のものが含まれます。Webページが画面サイズに応じてレイアウトを調整できるレスポンシブデザインを使用します。クロスブラウザーテストツールを使用して、リリース前に互換性をテストします。 PolyFillを使用して、古いブラウザの新しいAPIのサポートを提供します。 Web標準に従って、効果的なコードとベストプラクティスを使用します。 CSSプリプロセッサを使用して、CSSコードを簡素化し、可読性を向上させます。画像を最適化し、Webページのサイズを削減し、ロードをスピードアップします。 HTTPSがWebサイトのセキュリティを確保できるようにします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境