CSS3实现文本框焦点伸长效果
杰拉斯 | 时间:2012-05-28, Mon | 11,803 views前端开发
如果用过苹果官网的搜索功能,就会发现,当搜索框获得焦点时会自动伸长,并且有动画效果,这是怎么实现的呢?
不需要Flash,不需要JavaScript,纯CSS3就可以实现,先看看Demo(不支持IE内核浏览器):
CSS代码:
input, textarea{ color: #888; padding: 5px; margin: 10px; outline: none; overflow:hidden; border-radius: 5px; background: #fafafa; border: 1px solid #ddd; -moz-box-shadow: inset 1px 1px 10px rgba(0,0,0,0.1); -webkit-box-shadow: inset 1px 1px 10px rgba(0,0,0,0.1); box-shadow: inset 1px 1px 10px rgba(0,0,0,0.1); -webkit-transition: all .3s; -moz-transition: all .3s; -o-transition: all .3s; } .style1{ width: 150px; } .style1:focus{ width: 230px; } .style2{ float: right; width: 150px; } .style2:focus{ width: 230px; } .style3{ width: 10%; } .style3:focus{ width: 98%; } .style4{ height: 2em; width: 230px; } .style4:focus{ height: 8em; }
HTML代码:
<input class="style1" type="text" value="向右伸长" /> <input class="style2" type="text" value="向左伸长" /> <br /> <input class="style3" type="text" value="如意金箍棒" /> <br /> <textarea class="style4">下面有什么东西呢? 笑脸一枚 O(∩_∩)O 哈哈~</textarea>
如需转载请注明出处:杰拉斯的博客
可以支持IE的(至少IE11可以)。
在css: input, textarea 中增加一下内容就可以了:
transition: all .3s;
当时还不支持^_^