Safari、Chrome、その他のWebKitベースのブラウザでは、どのようにフォーム入力フィールドにfile
のスタイルを入力しますか?CSSを使ったSafari入力ファイルのスタイリング?
現在のところ、私はです。通常のテキスト入力ボックスの上に表示されるファイルボタンを選択してください。
私はGoogleでちょっと見たことがありますが、本当に役立つものは何も見かけませんでした。
Safari、Chrome、その他のWebKitベースのブラウザでは、どのようにフォーム入力フィールドにfile
のスタイルを入力しますか?CSSを使ったSafari入力ファイルのスタイリング?
現在のところ、私はです。通常のテキスト入力ボックスの上に表示されるファイルボタンを選択してください。
私はGoogleでちょっと見たことがありますが、本当に役立つものは何も見かけませんでした。
私はあなたができるとは思わない。 Appleは最近、フォームコントロールのスタイリングを有効にすることを決めました。彼らは、ボタンのように見えないときはボタンや入力を見つけるのが難しいと考えています。そのため、まだファイルアップロードの入力をスタイルすることはできません。
私は約90%があなたがそれを行うことはできません。それだけ、それは新しいセッションを行い、ブラウザと同じセッションでは、他のすべてのたブラウザにIEで働いているので、あなたがあなたの背中から追い出されます
:フラッシュアップローダーがさらに苦痛を与えることができます持つ
実際、Appleのボタン自体は気にしません。ボックスの下にボックスが表示されないようにしたいだけです。 –
エンドセキュアアプリ。
唯一の解決策は、セッションデータをFlashに送信することです...そこに行く!
私はSafariのファイル入力項目のスタイルや見た目を見てこのページに着いた...私は150pxの幅のテーブルセルにたくさんあるが、これらの入力はそれを大きくしている。
これまでの解決策は1つしか見つかりませんでした。それはstyle="position:absolute;z-index:2"
を使用して残りの部分を浮かせることです。私のTDはposition:relative
のスタイリングを持っています。
これは悪い悪い解決策です、私は知っています!
のFirefox 4は、(方法についてラウンドで)あなたのスタイルの入力要素をできるようになる:link
うまくいけば、他のブラウザでは、これが削除されますどのような巨大な痛みのポイントにキャッチします。
Webkitブラウザに興味がある場合は、組み込みの擬似セレクタを使用してファイル入力要素のさまざまな部分を対象にすることができます。例えば、input::-webkit-file-upload-button {...}
である。
ほんの少し前私はinput="file"
をCSS(主に余分なエフェクトを含むCSS3)でスタイル設定する作業がありました。
私はjQueryプラグインを作成しました(またはfilestyleプラグインを少し書き直しました)。そのコアビヘイビアは画像と同じですが、私は完全に画像をspan
とdiv
に置き換えました。プラグインはinput="file"
を隠し、CSSでラッパーを構築し、最後に非表示の入力に対してクリックアクションをトリガーします。
私はそれが誰にとっても役立つことを願っています。
Here's an example of how to style input="file"
with only CSS.
すべてのレンダリングエンジンが自動的に作成されたボタンを生成します。歴史的に、そのボタンは完全にスタイルが変更できませんでした。しかし、最近TridentとWebKitは疑似要素を使ってフックを追加しました。トライデント
はIE10のようにファイル入力ボタン::-ms-browse
擬似要素を使用してスタイルすることができます。基本的には、通常のボタンを適用するすべてのCSSルールを擬似要素に適用できます。例:Windows 8の上のIE10で次のように
<input type="file">
::-ms-browse {
background: black;
color: red;
padding: 1em;
}
これが表示されます。
WebKitの
WebKitが::-webkit-file-upload-button
擬似でそのファイル入力ボタンのフックを提供します素子。ここでもほとんどすべてのCSSルールを適用することができ、したがって、トライデントの例は、ここにも動作します:OS X上でクロム26で次のように
<input type="file">
::-webkit-file-upload-button {
background: black;
color: red;
padding: 1em;
}
をこれが表示されます。
出典:http://tjvantoll.com/2013/04/15/list-of-pseudo-elements-to-style-form-controls/ – Anselm
私が実際にしました何がうまくいくかを発見 もう1つのレガシーCSSルールが新しいフォームとやりとりして、入力の周囲にボックスを表示させました。 あなたの素早い回答をありがとう、それは正しい方向に私を指摘した。 乾杯! –
スタイルを壊したレガシーCSSルールが他の人がそれを回避できるように投稿してもらえますか? –