css中常用伪类表单验证:invalid、:valid、:required、以及:not 、:lang、:empty的使用

news/2024/11/7 14:36:55/

MDN文档关于伪类的相关介绍

1、 :invalid

:invalid 是 CSS 伪类选择器,用来选择任何未通过验证的 <form><fieldset><input> 或其他表单元素。

  <form class="form"><label for="email">邮箱地址:</label><input name="email" type="email" value="na@me@example.com"><label for="age">年龄: (18+)</label><input name="age" type="number" value="5" min="18" placeholder="请输入年龄"><label><input name="aggrement" type="checkbox" required checked> 请阅读并同意当前协议</label></form>
.form {label {display: block;margin-top: 10px;}input:invalid {background-color: ivory;border: none;outline: 2px solid red;border-radius: 5px;}
}

校验年龄时候如果没满足18+则自动添加对应样式。
``在这里插入图片描述

2、 :valid

:valid CSS 伪类表示内容验证正确的 或其他 元素。这能简单地将校验字段展示为一种能让用户辨别出其输入数据的正确性的样式。

刚才表单的age、添加:valid校验通过之后设置样式。

  input:valid {color: darkgreen;font-weight: bold;}

在这里插入图片描述

3、 :required

:required CSS 伪类表示任何设置了 required 属性的 <input><select><textarea> 元素。

<label for="date">生日</label>
<input name="date" type="date"  required  class="date">
.date:required {background-color: palegoldenrod;
}

设置日期的默认样式-背景色

在这里插入图片描述

4、 :lang

lang() CSS 伪类基于元素语言来匹配页面元素。

  <p lang="en-US">会匹配到这一段文字,并设置对应样式</p><p lang="nothing">nothing is impossible <strong lang="en-US">这个也会匹配到</strong> yes you are right.</p><div lang="title"><p>朴实无华</p></div>
*:lang(en-US) {outline: 2px solid deeppink;
}
:lang(title) > p {color: red;
}

在这里插入图片描述

5、 :not

:not() CSS 伪类用来匹配不符合一组选择器的元素。由于它的作用是防止特定的元素被选中,它也被称为反选伪类(negation pseudo-class)。

  <p class="is-number">是数字类型</p><p class="not-number">不是数字类型</p>
p:not(.is-number) {color: red;
}

在这里插入图片描述

6、 :empty

:empty CSS 伪类用于选择不包含任何子元素的元素。子元素可以是元素节点或文本(包括空格)。但是注释、处理指令和 CSS content 不会影响元素是否被认定为空。

<div></div>
div:empty {outline: 2px solid red;height: 10px;
}

在这里插入图片描述


http://www.ppmy.cn/news/64149.html

相关文章

本地部署 MiniGPT-4

本地部署 MiniGPT-4 1. 什么是 MiniGPT-42. Github 地址3. 安装 MiniGPT-44. 准备预训练的 MiniGPT-4 checkpoint5. 在本地启动演示其他 1&#xff0c;安装 CUDA Toolkit 11.8其他 2&#xff0c;安装 GCC 9 版本&#xff0c;并设置为默认GCC版本其他 3(成功)&#xff0c;重新安…

TypeScript 基本概念

TypeScript 是什么&#xff1f; 目标&#xff1a;能够说出什么是 TypeScript TS 官方文档 TS 中文参考 - 不再维护 TypeScript 简称&#xff1a;TS&#xff0c;是 JavaScript 的超集&#xff0c;JS 有的 TS 都有 TypeScript Type JavaScript&#xff08;在 JS 基础之上…

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或系统&#xff0c;预设条件包括正常和异常&#xff0c;最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次&#xff0c;上层是管理整个自动化测试的开发&a…

如何解决Redis的双写一致性

目录 1.更新策略2.问题场景3.解决方案 1.更新策略 Redis和MySQL的默认的更新策略是旁路缓存策略&#xff0c;旁路缓存策略又有写策略和读策略 写策略&#xff1a;更新时&#xff0c;先更新数据库&#xff0c;再更新缓存 读策略&#xff1a;读取数据时&#xff0c;如果命中缓…

Centos-7 安装 RabbitMQ指定版本并配置

一站式流程&#xff0c;从安装到抬走&#xff0c;就这一篇文章就够了&#xff01; PS&#xff1a;网上的大哥们&#xff0c;你们写文章好歹自己测试一下啊。。。/(ㄒoㄒ)/~~ 1. 来这个网址找到 RabbitMQ 与 Erlang 版本对应关系 RabbitMQ Erlang Version Requirements — Ra…

【Spring Cloud Alibaba】Nacos config的使用和高阶用法

文章目录 &#x1f40d;第一步&#xff0c;创建配置文件到nacos中&#x1f40d;第二步&#xff0c;在项目中配置nacos的地址和指定文件&#x1f40d;第三步&#xff0c;读取配置文件&#x1f426;高阶用法&#x1f426;高阶用法一&#xff1a;使用yaml文件&#x1f426;第一步&…

【Hello Network】网络编程套接字(三)

作者&#xff1a;小萌新 专栏&#xff1a;网络 作者简介&#xff1a;大二学生 希望能和大家一起进步 本篇博客简介&#xff1a;简单介绍下各种类型的Tcp协议 各种类型Tcp服务器 多进程版的TCP网络程序捕捉SIGCHLD信号让孙子进程执行任务 多线程TCP网络程序线程池版多线程TCP网络…

刘媛媛学习方法笔记

底层策略专业方法执行技术在当下这个时代,天才是3%的努力加97%不被互联网分心的能力。 学习方程式 主:学习时间,学习时精力,注意力,目标,策略 次:学习动机 学习动机 证明自己的能力。正向循环对知识有好奇心。正向循环为了学历。缺陷赚钱。缺陷为了别人的期待。痛苦 3…