要创建可折叠的搜索框,以便在单击时覆盖导航栏项目,可以使用HTML、CSS和JavaScript来实现。下面是一个示例的实现方法:
HTML部分:
<nav>
<div class="navbar">
<div class="logo">Logo</div>
<div class="search-icon">
<i class="fa fa-search"></i>
</div>
<div class="menu">
<ul>
<li>项目1</li>
<li>项目2</li>
<li>项目3</li>
</ul>
</div>
</div>
<div class="search-box">
<input type="text" placeholder="搜索...">
<button class="close-icon">
<i class="fa fa-times"></i>
</button>
</div>
</nav>
CSS部分:
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
background-color: #f2f2f2;
}
.logo {
font-size: 20px;
font-weight: bold;
}
.search-icon, .close-icon {
cursor: pointer;
}
.menu {
display: none;
}
.menu ul {
list-style-type: none;
padding: 0;
margin: 0;
}
.menu ul li {
display: inline-block;
margin-right: 10px;
}
.search-box {
display: none;
padding: 10px;
background-color: #f2f2f2;
}
.search-box input {
width: 200px;
padding: 5px;
border: none;
border-radius: 5px;
}
.search-box .close-icon {
border: none;
background-color: transparent;
cursor: pointer;
}
JavaScript部分:
const searchIcon = document.querySelector('.search-icon');
const closeIcon = document.querySelector('.close-icon');
const menu = document.querySelector('.menu');
const searchBox = document.querySelector('.search-box');
searchIcon.addEventListener('click', function() {
menu.style.display = 'none';
searchBox.style.display = 'block';
});
closeIcon.addEventListener('click', function() {
menu.style.display = 'block';
searchBox.style.display = 'none';
});
这段代码中,通过点击搜索图标时,隐藏导航栏项目并显示搜索框;点击关闭图标时,隐藏搜索框并显示导航栏项目。可以根据实际需求进行样式和交互的调整。
这是一个简单的实现示例,具体的样式和交互效果可以根据需求进行定制。
领取专属 10元无门槛券
手把手带您无忧上云