zoukankan      html  css  js  c++  java
  • 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是一样的效果,两个冒号语义更明确,但一个冒号兼容性更好

  • 相关阅读:
    web性能优化
    9.1_the end
    8.28_the end
    1.获取元素绝对位置
    8.14_end
    JavaScript 函数用途
    JavaScirpt事件处理
    《JavaScript语言精粹》读书笔记
    《图解http协议》之HTTPs学习笔记
    Laya 1.x 按文件夹TS代码合并
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12458925.html
Copyright © 2011-2022 走看看