2012-02-24 4 views
0

の異なる私はこのような形式があります:すべてのブラウザ私のファイルアップロード入力でCSS - ファイルアップロード/セレクトボタン - IE、Firefoxの、オペラ

input, textarea 
{ 
    border: 1px solid #bbb; 
    width: 100%; 
} 

:このようなCSSで

<form method="POST"> 

<p> 
    Nazwa kategorii: <br /> 
    <input name="NazwaKat" type="text" width="80" /> 
</p> 

<p>Opis kategorii: <br /> 
    <textarea name="OpisKat" columns="80" rows="3"></textarea> 
</p> 

<p>Obrazek: <br /> 
    <input class="img" type="file" pattern="*.jpg" name="image" /> 
</p> 

<p> 
    <input type="submit" value="Zapisz"/> 
</p> 

</form> 

異なって見える。私はIE、FF、Operaを試しました。なぜこうなった?

Firefoxは3Dボーダーのファイル名とボタンを持つボックスを表示します。 IEは "囲み..."ボタンを3dボーダーで表示しますが、ファイル名のフィールドはOKです。 オペラの下ではすべてのことがOKです - 3Dボーダーはありません。このような

イム使用してreset.css:

/* Browser style reset */ 

    html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td 
    { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } 
    body { line-height: 1.5; background: #fff; margin: 1.5em 0; } 
    table { border-collapse: collapse; border-spacing: 0; } 
    caption, th, td { text-align: left; font-weight:400; } 
    blockquote:before, blockquote:after, q:before, q:after { content: ""; } 
    blockquote, q { quotes: "" ""; } 
    a img { border: none; } 
    input,textarea { margin: 0; } 

    /* Removes Firefox imposed outline */ 
    a { outline: none; } 

    /* Clearing floats without extra markup */ 
    .wrapper { display: inline-block; } 
    .wrapper:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } 
    * html .wrapper { height: 1%; } 
    .wrapper { display: block; } 

は、この問題を回避する方法はありますか?

Btw - ファイル名のテキストを右側に揃える方法はありますか? pathが長い場合は、ファイル名が表示されず、 "C:\ Users \ Myusername \ Documents"などのパッチの開始点のみが表示されます。

+2

これは広範にここでカバーされており、簡単な答えはあなたがjavascriptでこれを回避することができるということです。 – jackJoe

+0

ありがとうございます。これは解答ではなく、コメントでなければなりません。 – Kamil

+0

しかし、私は新しい問題を見る。どのようにjavascriptでそれをバイパスするには? :) – Kamil

答えて

1

すべてのブラウザで私のファイルのアップロード入力が異なって見えます。私はIE、FF とOperaを試しました。なぜこうなった?

ファイルアップロードはクライアントマシンのオペレーティングシステムによって行われるため、HTMLではないためです。

+0

これは間違った答えだと思います。 Imは1つのOSだけを使用しているので、ブラウザエンジンはこれとは異なる表示をしています。 W3Cによって開発されたレンダリングエンジンは1つありますが、20の組織で開発されたレンダリングエンジンは20種類ありません。 – Kamil

+2

XPのファイル要素は、Windows 2000の要素とは異なります。これはMACとは異なります。そのため、CSSを使用してスタイルを設定する方法に制限があります。私はあなたに同意しますが、これは現実です。これは多くの長年にわたって進行中の制限であった。 –

+0

を参照してください:http://stackoverflow.com/questions/2825509/can-we-change-input-type-file-style –

関連する問題