蓝色栏内动画搜索表单的HTML/CSS复刻实现求助
实现蓝色栏内的动画搜索表单(HTML/CSS)
我帮你完善了代码,实现了搜索框的展开/收起动画效果,完全基于你提供的基础结构调整,直接就能用:
完整HTML代码
<div class="nav-top-searchbar"> <form> <input type="text" name="search" placeholder="搜索..."> <span class="fa fa-search searchicon" aria-hidden="true"></span> </form> </div>
完整CSS代码
/* 蓝色导航栏基础样式 */ .nav-top-searchbar { position: relative; background-color: #165DFF; /* 可根据截图调整蓝色深浅 */ padding: 8px 16px; display: flex; justify-content: flex-end; /* 假设搜索框在右侧,可按需调整位置 */ } /* 表单容器 */ .nav-top-searchbar form { position: relative; } /* 搜索输入框样式 */ .nav-top-searchbar input[type="text"] { padding: 6px 30px 6px 12px; border: none; border-radius: 4px; width: 30px; /* 默认只显示图标宽度 */ transition: width 0.3s ease; /* 平滑展开/收起动画 */ outline: none; } /* 聚焦时展开搜索框 */ .nav-top-searchbar input[type="text"]:focus { width: 200px; /* 展开后的宽度,可按需调整 */ } /* 搜索图标样式 */ .nav-top-searchbar .searchicon { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: #666; cursor: pointer; } /* 图标 hover 交互优化 */ .nav-top-searchbar .searchicon:hover { color: #333; }
关键效果说明
- 蓝色栏适配:我给导航栏加了基础的蓝色背景和内边距,你可以根据截图里的颜色精准修改
background-color的值 - 核心动画:搜索框默认仅显示图标的宽度,点击输入框聚焦时,通过
transition属性实现平滑展开的动画,失去焦点后会自动缩回 - 图标交互:用绝对定位把搜索图标放在输入框内部右侧,既节省空间又美观,鼠标悬停图标还会变色提示可点击,点击图标也能触发输入框聚焦
- 细节优化:给输入框加了占位符文本,提升用户感知,同时去掉了默认的输入框轮廓,让整体风格更统一
内容的提问来源于stack exchange,提问作者flash
相关产品推荐
相关产品推荐

