新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下纯css如何实现输入框placeholder动效及输入校验,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有集美免费网站建设让你可以放心的选择与我们合作。背景
话不多说,我们能否用纯css实现以下效果:
答案是肯定的。
借助css:placeholder-shown :valid :invalid伪类及html5 input pattern 属性就可以实现
:placeholder-shown伪类目前兼容性如下:
:placeholder-shown兼容性
直接上代码!☺️
源码
https://jsbin.com/qenucaz/edit?html,css,output
html:
JS Bin
css:
.input-fill{ width: 100%; margin: 0; font-size: 16px; line-height: 1.5; outline: none; padding: 20px 16px 6px; border: 1px solid transparent; background: #f5f5fa; border-radius:10px; transition: border-color .25s; } .input-fill:placeholder-shown::placeholder { color: transparent; } .input-fill-box { width: 50%; position: relative; } .input-label { position: absolute; left: 16px; top: 14px; pointer-events: none; color:#BEC1D9; padding: 0 2px; transform-origin: 0 0; pointer-events: none; transition: all .25s; } .input-fill:not(:placeholder-shown) ~ .input-label, .input-fill:focus ~ .input-label { transform: scale(0.75) translate(0px, -14px); } .input-fill:focus{ border: 2px solid #1d31aa; } .clear{ position:absolute; top:10px; right:-20px; display: none; transition: all .25s; } .input-fill::-ms-clear { display: none; } .input-fill:not(:placeholder-shown) + .clear { display: inline; } .input-fill:valid { border-color: green; box-shadow: inset 5px 0 0 green; } .input-fill:not(:placeholder-shown):invalid { border-color: red; box-shadow: inset 5px 0 0 red; }
以上是“纯css如何实现输入框placeholder动效及输入校验”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!