0

I'm looking for the best/efficient way to get identical form elements across all browsers on PC and Mac. This sounds like a pretty fundamental question that I should know the answer to but funnily enough I can't figure it out.

I've been styling forms with CSS and the occasional bit of JQuery for a while now and I've never worried about the subtle differences across browsers/computers.

But now I'm on a project where they literally have to be identical. Any ideas?

4

1 に答える 1

0

できません。複雑なフォーム コントロールのコンポーネントは、シャドウ DOMと呼ばれるものの一部です。要素が小さなコンポーネントで構成されていることはわかりますが、スタイルを設定することはできません。

ボタンやテキスト (テキスト、パスワード、検索、URL、電子メール、電話) 入力フィールドなどの単純な要素は、通常、ブラウザー間で一貫して表示されるようにスタイルを設定できます (使用しているスタイルがブラウザーでサポートされている場合)。

スタイリングしようとすると、他のほとんどすべてが奇妙に見えます。最悪の攻撃者は、複数の要素 (入力フィールドと 1 つまたは 2 つのボタンなど) で構成されているため、選択と複雑な入力 (ファイル、日付、日時、時刻、色、範囲、数値など) です。ブラウザーが特別な CSS プロパティを介してこれらのコンポーネントのスタイルを設定する機能を許可しない限り (Webkit プレフィックスの下でいくつか見たことがあると確信していますが、どのコンポーネントかはわかりませんでした)、それらに触れることはできません。

ここには 3 つのオプションがあります。

  • ブラウザーのデフォルトのスタイル設定を破棄するような方法でフォーム コントロールをスタイル設定しないでください (シンプルなコントロールと複雑なコントロールが互いに類似した外観を維持するため)。
  • 複雑なフォーム コントロールをまったく使用しないでください (つまり、no file、select など)。
  • JavaScript を使用して、複雑なフォーム コントロールをすべて単純なものに置き換えます。
于 2013-02-05T13:44:27.123 に答える