CSS学习笔记(四):UI伪类选择器(下)

UI伪类选择器

这次的笔记主要涉及到上次介绍的UI伪类选择器剩下的一些部分,剩下的UI伪类选择器有:

:valid
:invalid
:in-range
:out-of-range
:read-only
:read-write

这些UI伪类选择器都可以应用在input元素上。
首先来讲一下:valid和:invalid这两个UI伪类选择器。
:valid和:invalid分别设置当input元素的内容合法和非法的时候的样式。
比如:
(设置input类型为email)

<!-- 忽略部分内容 -->
    <style type="text/css">
      input:valid {
        border: 2px solid green;
      }
      input:invalid {
        border: 2px solid red;
      }
    </style>
</head>
<body>
  <form>
    <p>
      <label>邮箱:</label>
      <input type="email" placeholder="请输入邮箱:">
    </p>
    <button type="submit">提交</button>
  </form>
</body>

效果:
效果
当输入不合法的邮箱地址时边框变红。
效果
而当输入地址为合理的邮箱地址格式时边框变绿。

接下来介绍:in-range和:out-of-range。
:in-range和:out-of-range都是应用在类型为"number"的input元素上的。当输入的数字合法,应用:in-range设置的样式,当输入的数字不合法,应用:out-of-range设置的样式。
例子:

<!-- 忽略部分内容 -->
    <style type="text/css">
      input:in-range {
        border: 2px solid green;
      }
      input:out-of-range {
        border: 2px solid red;
      }
    </style>
</head>
<body>
  <form>
    <p>
      <label>数字:</label>
      <input type="number" min="0" max="99" value="50">
    </p>
    <button type="submit">提交</button>
  </form>
</body>

效果:
效果
当数字在允许范围内的时候,输入框外加了一圈绿色的外边框。
效果

当输入数字在允许范围外的时候,输入框外加了一圈红色的外边框。

最后来介绍:read-only和:read-write。
:read-only和:read-write分别应用在input元素的内容只读、可读可写的情况。
例子:

<!-- 忽略部分内容 -->
    <style type="text/css">
      input:read-only {
        background-color: red;
      }
      input:read-write{
        background-color: green;
      }
    </style>
</head>
<body>
  <form>
    <p>
      <label for="read-write">read-write:</label>
      <input type="text" name="read-write" id="read-write">
    </p>
    <p>
      <label for="read-only">read-only:</label>
      <input type="text" readonly name="read-only" id="read-only">
    </p>
  </form>
</body>

效果:
效果
效果如上图所示。
需要注意的是,对于Firefox浏览器来说,需要将:read-only和:read-write分别改为:-moz-read-only和:-moz-read-write才能生效,这是浏览器兼容问题导致的,原因需要追溯到浏览器早期发展史中的开发商大战。

好啦,那么这次的笔记就到这里啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值