📜  如何使用 HTML、CSS 和 JavaScript 创建全屏搜索栏?

📅  最后修改于: 2021-08-30 11:39:47             🧑  作者: Mango

在本文中,您将学习如何创建全屏搜索栏。在这里您需要创建两个div 。一个用于覆盖容器,另一个用于覆盖内容容器。

HTML 代码:第一步是创建一个 HTML 文件。在这里,我们将为搜索栏创建基本结构。在这里,我们还将为搜索栏使用一个图标,因为我们将使用字体真棒图标。

Fontawesome 图标 CDN 链接:

index.html


  
    
    
    
      
  
  
    
                   ×              
        
                              
      
    
       

GeeksforGeeks

    

      Full Screen Search Bar      

       


style.css
* {
  box-sizing: border-box;
}
  
.openBtn {
  background-color: dodgerblue;
  border: 2px solid-black;
  border-radius: 25px;
  padding: 10px 15px;
  font-size: 40px;
  cursor: pointer;
}
  
.openBtn:hover {
  background: green;
}
  
.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
  
.overlay-content {
  position: relative;
  top: 50%;
  width: 80%;
  text-align: center;
  margin-top: 30px;
  margin: auto;
}
  
.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 80px;
  cursor: pointer;
  color: white;
}
  
.overlay .closebtn:hover {
  color: blue;
}
  
.overlay input[type="text"] {
  padding: 15px;
  font-size: 17px;
  border: none;
  float: left;
  width: 80%;
  background: white;
}
  
.overlay input[type="text"]:hover {
  background: #f1f1f1;
}
  
.overlay button {
  float: left;
  width: 20%;
  padding: 15px;
  background: dodger-blue;
  font-size: 17px;
  border: none;
  cursor: pointer;
}
  
.overlay button:hover {
  background: #bbb;
}


main.js
// Open the full screen search box
function openSearch() {
  document.getElementById("myOverlay").style.display = "block";
}
  
// Close the full screen search box
function closeSearch() {
  document.getElementById("myOverlay").style.display = "none";
}


CSS 代码:将 CSS 添加到文件中。我们使用 CSS 来提供过渡效果和搜索栏的设计。它还用于将元素对齐到正确的位置。

样式文件

* {
  box-sizing: border-box;
}
  
.openBtn {
  background-color: dodgerblue;
  border: 2px solid-black;
  border-radius: 25px;
  padding: 10px 15px;
  font-size: 40px;
  cursor: pointer;
}
  
.openBtn:hover {
  background: green;
}
  
.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
  
.overlay-content {
  position: relative;
  top: 50%;
  width: 80%;
  text-align: center;
  margin-top: 30px;
  margin: auto;
}
  
.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 80px;
  cursor: pointer;
  color: white;
}
  
.overlay .closebtn:hover {
  color: blue;
}
  
.overlay input[type="text"] {
  padding: 15px;
  font-size: 17px;
  border: none;
  float: left;
  width: 80%;
  background: white;
}
  
.overlay input[type="text"]:hover {
  background: #f1f1f1;
}
  
.overlay button {
  float: left;
  width: 20%;
  padding: 15px;
  background: dodger-blue;
  font-size: 17px;
  border: none;
  cursor: pointer;
}
  
.overlay button:hover {
  background: #bbb;
}

JavaScript 代码:使用 JavaScript 打开和关闭覆盖/全屏效果。

主文件

// Open the full screen search box
function openSearch() {
  document.getElementById("myOverlay").style.display = "block";
}
  
// Close the full screen search box
function closeSearch() {
  document.getElementById("myOverlay").style.display = "none";
}

输出:当您将以上三个代码部分组合在一起时,会出现此输出。