フォーム validation_html/css_WEB-ITnose を実装する純粋な CSS
皆さん、フォーム検証を行っていますか?クライアントまたはサーバー、JavaScript または JQuery、手書きまたはプラグインの使用。今日は、CSS セレクター レベル 4 のフォーム関連の疑似クラス セレクターを学習するために、純粋な CSS を使用してフォーム検証を実装する方法を検討します。
ケースの感謝
codepen にもコードを入れました。オンラインで学習したり、コレクション用にダウンロードしたりできます。
ナレッジ分析
重要なのは、CSS セレクター レベル 4 でいくつかの疑似クラスを使用してフォーム検証を実装することです。
:valid と :invalid
<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>
このコードは主に、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; }
これら 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: "枣糕,你傻了!"; }
これら 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
input:invalid{ border: 1px solid tomato; }input:valid~ label::after { content: "耶,一个邮箱!"; }input:invalid ~ label::after { content: "枣糕,邮箱邮箱,是邮箱吗?"; }
次の要素は、:read-only 疑似クラスをアクティブ化できます。
読み取り専用または無効な属性を持つテキストエリア
contenteditable 属性を指定しないその他の要素
さらに読む
Codrops CSS リファレンス
JavaScript 用の超高速、クロスブラウザー CSS 3 & 4 セレクター エンジン

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。
