valid和invalid伪类美化表单案例

效果图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form</title>
    <style>
        .container{margin:100px;position: relative;font-size:14px;}
        input{width:140px;height:30px;line-height:30px;border:1px solid #999;outline:none;text-indent:40px;transition:all .3s;border-radius: 3px;}
        .title{position: absolute;top:1px;left:2px;line-height: 30px;height:30px;transition:all .3s;}
        input:focus,input:hover{text-indent:4px;}
        input:focus+.title,input:hover+.title{transform:translateX(-120%);}
        input:valid~label:after{content:"邮箱格式正确";color:green;}
        input:invalid~label:after{content:"邮箱格式不正确";color:red;}
        input:valid{border:1px solid green;}
        input:invalid{border:1px solid red;}
    </style>
</head>
<body>
    <div class="container">
        <form action="#">
            <input type="email" id="email" required placeholder="输入邮箱">
            <span class="title">邮箱</span>
            <label for="email"></label>
        </form>
    </div>

</body>
</html>

补充:

::after 和 :after是一样的效果,两个冒号语义更明确,但一个冒号兼容性更好

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值