CSS之选择器(九):valid和:invalid

简介: CSS之选择器(九):valid和:invalid

前言


回想一下,当我们在提交表单的时候,往往需要通过JS来判断输入的内容是否合法,其实,在某些情况下,是可以通过纯CSS来实现表单的校验的。


接下来我们就来介绍一下:valid和:invalid这两个选择器。


:valid和:invalid


  • :valid:作用于输入合法的表单节点
  • :invalid:作用于输入非法的表单节点

当然,为了体验完整的表单校验,我们还需要加上这两个选择器,

  • placeholder:当输入框为空时,可以起到占位的作用,在未输入内容时显示提示文本,内容是传入的参数
  • pattern:传入正则表达式,在输入内容时可以触发正则验证结果是否合法

注意:这里要说一点,pattern的正则与JS稍微有一点点不同。JS的正则参数形式是 /regexp/ ,而 pattern 是不需要 / 的,所以只需要传入 regexp 即可。正则会与输入的内容进行动态校验,合法时,触发 :valid, 反之,会触发:invalid。


代码展示


接下来,让我们实地的应用一下,看看效果。


先来一张效果图:


image.png


接下来,请看代码实现:


<form class="form-validation">
  <div>
    <label>名字</label>
    <input type="text" placeholder="请输入你的名字(1到10个中文)" pattern="^[\u4e00-\u9fa5]{1,10}$" required>
  </div>
  <div>
    <label>手机</label>
    <input type="text" placeholder="请输入你的手机" pattern="^1[3456789]\d{9}$" required>
  </div>
  <div>
    <label>简介</label>
    <textarea required></textarea>
  </div>
</form>
复制代码


.form-validation {
  width: 600px;
  div {
    display: flex;
    & + div {
      margin-top: 15px;
    }
  }
  label {
    display: block;
    margin: 0 10px;
    padding-bottom: 5px;
    line-height: 40px;
    font-weight: bold;
    font-size: 16px;
  }
  input,
  textarea {
    flex: 1;
    display: block;
    padding: 0 20px;
    border: 1px solid #ccc;
    height: 40px;
    outline: none;
    caret-color: #09f;
    transition: all 300ms;
    &:valid {
      border-color: green;
    }
    &:invalid {
      border-color: red;
    }
  }
  textarea {
    height: 122px;
    resize: none;
    line-height: 30px;
    font-size: 16px;
  }
}
复制代码


好,今天就到这里了,今天努力的你依然是最棒的,Bye Bye!!!

相关文章
|
2月前
|
前端开发
CSS:高级选择器
CSS:高级选择器
38 1
|
2月前
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
47 1
|
22天前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
31 2
|
2月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
86 1
|
1月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
18 0
|
2月前
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
3月前
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
32 1
|
3月前
|
前端开发
CSS中的层级选择器&伪类选择器和伪元素选择器
CSS中的层级选择器&伪类选择器和伪元素选择器
|
3月前
|
前端开发 数据安全/隐私保护
探秘CSS类型选择器:解码前端设计的神秘密码!
探秘CSS类型选择器:解码前端设计的神秘密码!
探秘CSS类型选择器:解码前端设计的神秘密码!