css制作搜索框
基础搜索框样式
创建一个简单的搜索框需要结合HTML和CSS。HTML部分定义结构,CSS负责样式设计。
<input type="text" placeholder="搜索..." class="search-box">
.search-box {
padding: 8px 15px;
border: 1px solid #ddd;
border-radius: 20px;
outline: none;
font-size: 14px;
width: 200px;
transition: all 0.3s ease;
}
.search-box:focus {
border-color: #4a90e2;
box-shadow: 0 0 5px rgba(74, 144, 226, 0.5);
}
带图标的搜索框
在搜索框内添加搜索图标可以提升视觉体验。使用背景图片或伪元素实现。
<div class="search-container">
<input type="text" placeholder="搜索..." class="search-input">
<button class="search-button">🔍</button>
</div>
.search-container {
display: flex;
border: 1px solid #ccc;
border-radius: 20px;
overflow: hidden;
width: 300px;
}
.search-input {
flex: 1;
padding: 10px;
border: none;
outline: none;
}
.search-button {
background: #4a90e2;
color: white;
border: none;
padding: 10px 15px;
cursor: pointer;
}
动画效果搜索框
为搜索框添加展开动画效果,增强交互体验。
<div class="animated-search">
<input type="text" placeholder="搜索..." class="animated-input">
</div>
.animated-search {
position: relative;
width: 50px;
height: 50px;
transition: width 0.4s ease;
}
.animated-search:hover {
width: 200px;
}
.animated-input {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 2px solid #4a90e2;
border-radius: 25px;
padding: 0 20px;
outline: none;
font-size: 16px;
}
响应式搜索框
确保搜索框在不同设备上都能良好显示。
.responsive-search {
width: 100%;
max-width: 500px;
margin: 0 auto;
padding: 12px 20px;
border: 1px solid #ddd;
border-radius: 25px;
font-size: 16px;
}
@media (max-width: 600px) {
.responsive-search {
padding: 10px 15px;
font-size: 14px;
}
}
高级搜索框样式
结合现代CSS特性创建更复杂的搜索框设计。
<div class="modern-search">
<input type="search" placeholder="输入关键词..." required>
<span class="search-border"></span>
</div>
.modern-search {
position: relative;
margin: 20px;
}
.modern-search input {
width: 100%;
padding: 12px;
border: none;
border-radius: 4px;
font-size: 16px;
background-color: #f5f5f5;
transition: all 0.3s;
}
.modern-search input:focus {
background-color: white;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.search-border {
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background-color: #4a90e2;
transition: width 0.3s;
}
.modern-search input:focus ~ .search-border {
width: 100%;
}





