検索
ホームページウェブフロントエンドhtmlチュートリアルフォーム validation_html/css_WEB-ITnose を実装する純粋な CSS

皆さん、フォーム検証を行っていますか?クライアントまたはサーバー、JavaScript または JQuery、手書きまたはプラグインの使用。今日は、CSS セレクター レベル 4 のフォーム関連の疑似クラス セレクターを学習するために、純粋な CSS を使用してフォーム検証を実装する方法を検討します。

ケースの感謝


codepen にもコードを入れました。オンラインで学習したり、コレクション用にダウンロードしたりできます。

ナレッジ分析

重要なのは、CSS セレクター レベル 4 でいくつかの疑似クラスを使用してフォーム検証を実装することです。

:valid と :invalid
  • :read-only と :read-write
  • 上記の例では、:in-range と :out-of-range を使用しています。それぞれについて説明します。
  • :required および :optional
  • :required は、input、select、textarea などの required 属性を持つフォーム要素を選択できます。たとえば、次の要素が選択されます。

    <input type="name" required><input type="checkbox" required><input type="email" required><!-- and other input types as well.. --><textarea name="name" id="message" cols="30" rows="10" required></textarea><select name="nm" id="sel" required>    <!-- options --></select>

    :optional は、必須の属性を持たないフォーム要素を選択します。これらの 2 つの疑似クラスを使用すると、次の興味深い効果を実現できます。コードは codepen にも配置されています。オンラインで調べるか、ダウンロードして収集するかはあなた次第です。

    このコードは主に、required と :optional という 2 つの疑似クラスを使用して、必須フォームとオプション フォームに異なるスタイルと異なるプロンプト テキストを実装します。コアコードを以下に示します。

    /*可选表单样式*/input:optional,select:optional { border-right: 3px solid #888; background-color: #f8f8f8; color: #888; }/*必选表单样式*/input:required,textarea:required { border-right: 3px solid #aa0088; }/*可选表单提示文字*/input:optional+label::after{ content:"(可选)"; }/*必选表单提示文字*/input:required+label::after{ content:"(必填)"; }/*可选表单激活效果*/input:optional:focus,select:optional:focus { box-shadow: 0 0 2px 1px #aaa; }/*必选表单激活效果*/input:required:focus,select:required:focus,textarea:required:focus { outline: 0; box-shadow: 0 0 2px 1px #aa0088; }

    :in-range と out-of-range


    これら 2 つの疑似クラスは、それぞれ範囲内と範囲外のフォーム属性値を選択します。これらの 2 つの疑似クラスは、数値範囲を受け入れる要素で使用できます。たとえば、タイプ番号が付いたフォームやスライダーなどです。ケースの効果については、上記の「ケースの説明」セクションで説明します。ここでは、2 つの疑似クラスの使用法を誰もが理解できるように、コア コードのみを示します。

    input:out-of-range{ border: 1px solid tomato; }input:in-range~ label::after { content: "输入一个正确的从1到10的数字"; }input:out-of-range ~ label::after { content: "枣糕,你傻了!"; }

    :valid と :invalid

    これら 2 つの疑似クラスは、type を持つ入力フォーム用に設計されています。たとえば、値が有効な電子メール形式ではない場合、 :invalid 疑似クラスが使用されます。 -class は、有効な電子メール形式、つまり有効な疑似クラスがある場合にトリガーされます。

    同様に、codepen では、オンラインで学習するか、コレクションをダウンロードしてください。次に、以下に示すように、コア コードを見ていきます。

    input:invalid{ border: 1px solid tomato; }input:valid~ label::after { content: "耶,一个邮箱!"; }input:invalid ~ label::after { content: "枣糕,邮箱邮箱,是邮箱吗?"; }

    :read-only および :read-write


    次の要素は、:read-only 疑似クラスをアクティブ化できます。

    無効な属性を持つフォーム

    読み取り専用または無効な属性を持つテキストエリア

    contenteditable 属性を指定しないその他の要素
  • たとえば、次のコードに示されている要素はアクティブ化できます: read-only pseudo -クラスセレクター。
  • うわー
  • :read-write 要素は、:read-only 要素の正反対です。
  • これは比較的単純なので、これ以上ケースは作成しません。ありがとう。
  • さらに読む

    Codrops CSS リファレンス

    CSS セレクター レベル 4

    JavaScript 用の超高速、クロスブラウザー CSS 3 & 4 セレクター エンジン
  • ブラウザ CSS-Selector-Test
  • 感謝
  • 声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    HTMLの未来:進化とトレンドHTMLの未来:進化とトレンドMay 13, 2025 am 12:01 AM

    HTMLの未来は、よりセマンティック、機能的、モジュール式方向に発展します。 1)セマンティック化により、タグがコンテンツをより明確に説明し、SEOとバリアのないアクセスを改善します。 2)機能化は、ユーザーのニーズを満たすために新しい要素と属性を導入します。 3)モジュール性は、コンポーネントの開発をサポートし、コードの再利用性を改善します。

    Web開発にとってHTML属性が重要なのはなぜですか?Web開発にとってHTML属性が重要なのはなぜですか?May 12, 2025 am 12:01 AM

    htmlattributesarecrucialinwebdevevermentmentmentmentmentmentmentmention behavior、like、andfunctionality.theyenhance -interactivity、accessibility、andseo.forexample、thesrcattribute intagsimpactsseo

    Alt属性の目的は何ですか?なぜそれが重要なのですか?Alt属性の目的は何ですか?なぜそれが重要なのですか?May 11, 2025 am 12:01 AM

    ALT属性は、HTMLのタグの重要な部分であり、画像の代替テキストを提供するために使用されます。 1.画像をロードできない場合、ALT属性のテキストが表示され、ユーザーエクスペリエンスが向上します。 2。スクリーンリーダーは、ALT属性を使用して、視覚障害のあるユーザーが写真の内容を理解するのに役立ちます。 3. ALT属性のEnginesインデックステキストを検索して、WebページのSEOランキングを改善します。

    HTML、CSS、およびJavaScript:例と実用的なアプリケーションHTML、CSS、およびJavaScript:例と実用的なアプリケーションMay 09, 2025 am 12:01 AM

    Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造の構築に使用されます。 2。CSSは、Webページの外観を美化するために使用されます。 3. JavaScriptは、動的な相互作用を実現するために使用されます。タグ、スタイル、スクリプトを通じて、これら3つは最新のWebページのコア関数を構築します。

    Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?May 08, 2025 am 12:03 AM

    タグのLang属性を設定することは、WebアクセシビリティとSEOを最適化する重要なステップです。 1)ラング属性をタグに設定します。 2)多言語コンテンツでは、ようなさまざまな言語パーツのLang属性を設定します。 3)「EN」、「FR」、「ZH」などのISO639-1標準に準拠する言語コードを使用します。Lang属性を正しく設定すると、Webページと検索エンジンランキングのアクセシビリティが向上します。

    HTML属性の目的は何ですか?HTML属性の目的は何ですか?May 07, 2025 am 12:01 AM

    htmlattributeSareSientionalentionalentionalentionalentiallyance'functionalityandappearance.theyaddinformationtodefinebehavior、light、and interaction、makewebsitesteractive、responsive、andviseallyappaleal.attributeslikesrc、href、class、型、およびdoadabledransform

    HTMLでリストを作成するにはどうすればよいですか?HTMLでリストを作成するにはどうすればよいですか?May 06, 2025 am 12:01 AM

    toreatealistinhtml、useforunorderedlistsandfororderedlists:1)forunorderedlists、wrapitemsinanduseforeachitem、renderingasabulletedlist.2)

    HTMLアクション:Webサイト構造の例HTMLアクション:Webサイト構造の例May 05, 2025 am 12:03 AM

    HTMLは、明確な構造のWebサイトを構築するために使用されます。 1)Webサイト構造などのタグを使用し、定義します。 2)例は、ブログとeコマースのウェブサイトの構造を示しています。 3)誤ったラベルネスティングなどの一般的な間違いを避けてください。 4)HTTP要求を削減し、セマンティックタグを使用してパフォーマンスを最適化します。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強力な PHP 統合開発環境

    SecLists

    SecLists

    SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

    Dreamweaver Mac版

    Dreamweaver Mac版

    ビジュアル Web 開発ツール

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい