如何在实心矩形栏内制作动画搜索表单?HTML/CSS复刻实现
没问题,我帮你补全这个搜索栏的实现,把缺失的搜索图标和外围白色矩形框加上,直接看完整代码和细节解释:
完整HTML结构
<div class="nav-search-container"> <div class="nav-top-searchbar"> <form> <!-- 搜索图标,替换成你自己的图标路径 --> <img src="your-search-icon-path" alt="Search" class="search-icon"> <input type="text" name="search" placeholder="Search..."> <div class="ellipsis-wrapper"> <img tabindex="1" src="https://s9.postimg.org/d6s4xvykv/Ellipsis.png" id="ellipsis" alt="More options"> </div> </form> </div> </div>
对应的CSS样式
/* 外围白色容器:负责白色边框和间距 */ .nav-search-container { border: 2px solid #fff; border-radius: 8px; padding: 4px; width: 400px; /* 可以根据需求改成fit-content或者其他宽度 */ background: #fff; } /* 蓝色搜索栏:保留你原来的蓝色背景,调整内边距和圆角 */ .nav-top-searchbar { background-color: #0078d4; /* 这里用你原来的蓝色值就行 */ border-radius: 6px; padding: 8px 12px; } /* 表单用flex布局,让元素横向对齐 */ .nav-top-searchbar form { display: flex; align-items: center; gap: 8px; } /* 搜索图标样式:适配蓝色背景 */ .search-icon { width: 20px; height: 20px; /* 如果图标是深色,用这个滤镜转成白色;本身是白色就删掉这行 */ filter: brightness(0) invert(1); } /* 输入框样式:去掉边框,融合蓝色背景 */ .nav-top-searchbar input[type="text"] { flex: 1; /* 让输入框占满剩余空间 */ background: transparent; border: none; outline: none; color: #fff; font-size: 14px; } /* 占位符样式:让文字更柔和 */ .nav-top-searchbar input[type="text"]::placeholder { color: rgba(255,255,255,0.8); } /* 省略号图标容器:保持对齐 */ .ellipsis-wrapper { display: flex; align-items: center; } #ellipsis { width: 24px; height: 24px; cursor: pointer; }
关键细节说明
- 外层的
.nav-search-container专门负责白色边框效果,通过padding让蓝色栏和白色框之间有缝隙,视觉上更立体。 - 用
flex布局让搜索图标、输入框、省略号自动横向对齐,gap属性控制元素间的间距,比用margin更省心。 - 输入框设置
flex:1可以自动填充蓝色栏的剩余空间,去掉边框和背景后完全融入蓝色栏。 - 如果你的搜索图标本身不是白色,用
filter: brightness(0) invert(1)可以快速把深色图标转成白色,适配蓝色背景。
内容的提问来源于stack exchange,提问作者flash
相关产品推荐
相关产品推荐

