📅  最后修改于: 2023-12-03 15:39:31.675000             🧑  作者: Mango
在Web开发中,搜索框是必不可少的一部分。引导模态搜索框是一种常见的搜索框类型,它可以通过点击按钮或链接打开模态框,然后用户可以在模态框中输入搜索关键词进行搜索。
本文将介绍如何使用HTML和CSS实现引导模态搜索框。
首先,我们需要创建一个HTML结构来包含搜索框和模态框。
<div class="search-container">
<form action="/search" method="get">
<input type="text" placeholder="搜索...">
<button type="submit"><i class="fa fa-search"></i></button>
</form>
<button id="search-modal-btn">高级搜索</button>
</div>
<div id="search-modal" class="modal">
<div class="modal-content">
<span class="modal-close">×</span>
<h2>高级搜索</h2>
<form action="/search" method="get">
<input type="text" placeholder="关键字...">
<input type="text" placeholder="作者...">
<button type="submit">搜索</button>
</form>
</div>
</div>
如上代码所示,我们在一个div容器中包含了一个form表单,form表单包含了一个文本输入框和一个提交按钮,这就是我们的引导搜索框。后面,我们在容器中添加了一个按钮"高级搜索",它用于触发模态框。
模态框也被包含在一个div容器中,在模态框中,我们定义了一个模态框内容div和一个关闭按钮。
接下来,我们需要为我们的搜索框和模态框添加样式,让它们看起来更漂亮。
/* Search container */
.search-container {
display: flex;
justify-content: center;
}
.search-container form {
position: relative;
display: inline-block;
}
.search-container input[type=text] {
padding: 10px;
border: none;
border-radius: 2px 0 0 2px;
width: 70%;
font-size: 17px;
}
.search-container button[type=submit] {
padding: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 0 2px 2px 0;
cursor: pointer;
}
/* Modal */
.modal {
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
}
.modal-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
.modal-close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.modal-close:hover, .modal-close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
以上样式给我们的搜索框和模态框添加了一些漂亮的样式,主要做了以下工作:
最后,我们需要添加一些JavaScript来激活我们的模态框。
var modalBtn = document.getElementById("search-modal-btn");
var modal = document.getElementById("search-modal");
var modalClose = document.getElementsByClassName("modal-close")[0];
modalBtn.onclick = function() {
modal.style.display = "block";
}
modalClose.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
以上代码会为我们的高级搜索按钮和关闭按钮添加点击事件,并且可以通过点击模态框外的任何地方来关闭模态框。
通过以上代码片段, 你可以在HTML中创建引导模态的搜索框。当用户点击高级搜索按钮时,模态框会打开,用户可以在其中输入不同的搜索参数。