CSS3 :valid伪类

来源:http://itssh.cn/post/928.html

:valid 选择器在表单元素的值需要根据指定条件验证时设置指定样式。
注意: :valid 选择器只作用于能指定区间值的元素,例如 input 元素中的 min 和 max 属性,及正确的 email 字段, 合法的数字字段等。

案例效果:默认不显示"发送",点输入框获得焦点,隐藏"点赞",显示"发送",输入框输入合法,"发送"变为红色

代码:##

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport"content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<title>css3伪类</title>

<style type="text/css">
    .ui-box {
        display: -webkit-box;
        display: box;
        margin-top: 10px;
        height: 30px;
        line-height: 30px;
        margin-left: 10px;
    }
    .input {
        height: 100%;
        border:none;
        border-bottom: 1px solid #ccc;
        margin: 0 20px;
        
        background: #fff;
        width: 200px;
    }
    /*
        如果使用div 替代input ,使用:empty伪元素
    
    .input:empty::before {
      content: attr(placeholder);
    }
    */

    /*
        默认不显示发送
    */
    .send {
        display: none;
    }
    /*
        输入框获得焦点后相邻发送按钮显示
    */
    .input:focus ~ .send {
        display: block;
    }
    /*
        输入框校验合法 发送按钮显示红色
    */
    .input:valid ~ .send {
      display: block;
      color: red;
    }
    /*
        输入框获得焦点或者输入框输入合法,不显示点赞
    */
    .input:focus ~ .like, 
    .input:valid ~ .like {
      display: none;
    }
</style>
</head>

<body>
    <div class="ui-box">
        <input type="text" class="input" required="required" placeholder="请输入"/>
        <!-- <div class="input" contenteditable="true" placeholder="请输入"></div> -->
        <div class="like">点赞</div>
        <div class="send">发送</div>
    </div>
</body>
</html>

效果:


validat.png

来源:http://itssh.cn/post/928.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容