查看原文
其他

【每日一练】93—实现一个搜索框的动画效果

杨小爱 web前端开发 2022-12-03


写在前面

今天写的这个小练习是一个搜索框的动画效果,关于这个搜索框的效果,我在之前的一些练习中,也跟大家分享过一期3D效果的搜索框。

而今天这个效果,可能更加实用一点,毕竟3D效果,并不是每个项目都会使用,使用多的还是一些NFT,游戏类型或者是一些3D素材的网站上。

一般情况下,我们还是更加趋向于用今天练习项目中的这种效果,具体效果请看下面的截图:

HTML代码:
<!DOCTYPE html><html><head> <meta charset="UTF-8">  <title>【每日一练】93—实现一个搜索框的动画效果</title></head><body> <div class="searchBox"> <div class="search"> <ion-icon name="search-outline"></ion-icon> </div> <div class="searchInput"> <input type="text" placeholder="输入你要查找的内容"> </div> <div class="close"> <ion-icon name="close-outline"></ion-icon> </div> </div> <!--字体图标文件--> <script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script> <script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
<script> const search = document.querySelector('.search'); const close = document.querySelector('.close'); const searchBox = document.querySelector('.searchBox'); search.onclick = function(){ searchBox.classList.add('active'); } close.onclick = function(){ searchBox.classList.remove('active'); }</script></body></html>
CSS代码:
*{ margin: 0; padding: 0; box-sizing: border-box; font-family: 'Ubuntu', sans-serif;}body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #6aa7d4; background: linear-gradient(45deg,#4E65FF ,#92EFFD);}.searchBox { position: relative; width: 60px; height: 60px; background: #fff; display: flex; justify-content: space-between; transition: 0.5s; overflow: hidden; box-shadow: 0 25px 35px rgba(0,0,0,0.1);}.searchBox.active { width: 360px;}.search { position: relative; width: 60px; height: 60px; display: flex; color: #333; justify-content: center; align-items: center; font-size: 1.5em; cursor: pointer;} .close { position: absolute; right: 0; width: 50px; height: 60px; display: flex; color: #333; justify-content: center; align-items: center; scale: 0; cursor: pointer; font-size: 1.25em; transition: 0.5s; transition-delay: 0s;}.searchBox.active .close { scale: 1; transition-delay: 0.5s;}.searchInput { position: absolute; left: 60px; width: calc(100% - 120px); height: 100%; line-height: 60px; background: #f00;}.searchInput input { position: absolute; width: 100%; height: 100%; border: none; outline: none; font-size: 1.25em;}

写在最后

以上就是我今天跟大家分享的【每日一练】的全部内容,希望今天的小练习对你有用,如果你觉得有帮助的话,请点赞我,关注我,并将它分享给你身边做开发的朋友,也许能够帮助到他。

我是杨小爱,我们明天见。

学习更多技能

请点击下方公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存