私のウェブページに<input type="file" />
を使用しています。私は、ボタンと他のコントロールのCSSクラスが異なっています。しかし、私は上記のタグのために表示されるブラウズボタンにスタイル、クラスを追加できません。CSSをブラウズボタンに適用する方法
デフォルトの外観を変更する方法はありますか?
ありがとうございます。
私のウェブページに<input type="file" />
を使用しています。私は、ボタンと他のコントロールのCSSクラスが異なっています。しかし、私は上記のタグのために表示されるブラウズボタンにスタイル、クラスを追加できません。CSSをブラウズボタンに適用する方法
デフォルトの外観を変更する方法はありますか?
ありがとうございます。
これはできません。 <input />
全体にのみスタイルを適用できます。
CSSハックを使用して、お気に入りの画像と画像に置き換えることができます:ホバー。
height:
プロパティはFirefox 3.6では機能しません。代わりにfont-size:
を使用して高さを拡大することができます。
私は、例を挙げて作成しました:http://timc.idv.tw/html5-file-upload/; 2回目のデモのCSSを調べてください。
ファイルの入力を直接スタイルすることはできませんが、実際にはいくつかの擬似スタイリングを与えたり、見えないようにすることができますが、クリック可能です。 Quirksmodeでこれを行う方法に関する記事があります。
また、肌が荒いスタイリングフォームの要素にはsome nice librariesがあります。選択とアップロードのフィールドには統一性があります。
CSSでファイル入力ボタンのスタイルを設定することはできません。これはあなたがスタイルできない唯一の要素ではありません。他の入力にはスタイルを受け入れないものがあります。多くのタイプの入力を見るには、fiddleを見てください。あなたのブラウザに基づいて、いくつかの入力は異なってレンダリングされます。範囲入力や日付入力などの入力は、CSSで編集できないOSレベルのUIを使用しています。
あなたができることはファイル入力を隠し、ファイル入力とトリガートリガーとしてボタンタイプ入力のようなスタイリングを受け入れるdivや別の入力を表示することです。隠れた実際のイベントをクリックして提出するファイル入力。
コード例:
HTML
<input type="file" />
<label>Select file to upload: <input type="button" /></label>
CSS
input[type="file"]{visibility:hidden; width:0;}
はJavaScript:fiddle in action
でvar fileInput = document.querySelectorAll('input[type="file"]')[0],
fakeFileInput = document.querySelectorAll('label')[0],
clickEvent = document.createEvent('MouseEvent');
clickEvent.initMouseEvent('click',true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);
fakeFileInput.addEventListener('click', function(event){
fileInput.dispatchEvent(clickEvent);
}, false);
ルック
あなたの質問の答えは:いいえ、不幸にもファイル入力をスタイルできません。
ブラウザはFirefoxでは開かず、初めてChromeで動作しました。 – vusan
そのボタンの作業にCSSクラスを適用していませんか? –
そのボタンにクラスを追加するには?実際には、そのボタンはブラウザ上で動的に生成されます。 –