フォーム要素 (選択、チェックボックス、ラジオなど) をスタイリングしますか?
質問
CSS を使用してフォーム要素のスタイルを設定すると、ブラウザごとにタグのレンダリング方法が異なるため (safari チェックボックスをレンダリングする場合と同様)、問題が発生する可能性があります。
さて、しばらくサファリを無視しましょう。入力とボタンをスキニングするのはかなり簡単ですが、選択、チェックボックス、ラジオなどを完全にスキンする方法。
次のページを参照してください。
チェックボックススキニング
スキニングの選択
ラジオスキニング
EXTJS や MooTools などの JS フレームワークでそれができると聞いたのですが、大規模なフレームワーク ソリューションは望んでいません。独立した JS だけでスキンを好きなように変更できます。JQuery ソリューションはやめてください。使わないでください。
特定のフレームワークを使用せずにそれを行うアイデアはありますか?
解決
現在、フォーム要素のスタイルを広範囲にカスタマイズできる JavaScript ソリューションが非常に多くあります。グーグルで簡単にいくつかの良いものを見つけました。
おそらく最もよく知られているのは、 ブートストラップ CSSフレームワーク:
https://getbootstrap.com/docs/4.0/components/formshttps://www.psd2html.com/js-custom-forms (jQueryプラグイン)
チェックボックス/ラジオ:
現在、さまざまな種類のフォーム要素のスタイルを見つけることができます。 コードペン.com
古い回答(から 2009 年 5 月 16 日):
はい、とても簡単です。
独立したスクリプトであるniceformsを使用できます
作り用 見栄えの良いフォームは、変更することができます
グラフィック画像 / CSSをあなたの希望として。アイデアは、同じように見えるものをコーディングすることです
同じで 機能性が違うがデザインが違う
あなたはそれを与える必要があります LIFE」をJavaScriptの魔法の:)でその場合、あちこちにイルステナーを配置する必要があります。
小切手 ユーザーがクリックしたものを、反映させる必要があります
同じ値 事前に隠されたフォーム要素に、
「偽物」に対応します 1。操作するという意味です。
その後、フォームを送信すると、 正しい値はJS経由の場所です。
他のヒント
完全な制御が必要な場合は、通常、ブラウザーのコントロールを完全に置き換え、他の要素、スタイルシート、スクリプトで偽装する必要があります。
フレームワークを使用したくない場合は、基本的に DIY になります。
とはいえ、コンセプト全体にはいくつかの問題があります。
- ユーザーが期待するようにコントロールを動作させること(クリック、ダブルクリック、トリプルクリック、右クリック、ドラッグ、矢印キー、コントロールキーなどからの入力)を取得しようとすると、 難しい.
- コントロールはユーザーが期待するとおりに表示されない可能性があります。
個人的には、通常、フォーム コントロールをシステムのデフォルトに固執させ、そこから逸脱しようとしないようにします。ユーザーが期待するものを提供します。