jQuery和CSS3变形全屏网站搜索框

  • 源码大小:5.12KB
  • 所需积分:1积分
  • 源码编号:19JP-3683
  • 浏览次数:247次
  • 最后更新:2023年07月10日
  • 所属栏目:表单
本站默认解压密码:19jp.com 或 19jp_com

简介

在过去的几年里,网页设计的一个新趋势是创造全屏网站搜索体验。

这是一个搜索框,它充分利用了网页及其提供的所有房地产,展示了搜索功能和一些非常酷的全屏效果。

这可以使用css3转换和转换属性来完成,并且只需要一点jquery来帮助清理我们的html代码。

如何使用它:

1.为全屏网站搜索框创建HTML。请注意,我们在搜索/关闭图标时使用了字体真棒的标志性字体。

<!-- Close Button -->
<div class="close-btn">
  <span class="fas fa-times"></span>
</div>

<!-- Search Wrapper -->
<div class="wrapper">
  <!-- Search Button -->
  <div class="search-btn">
    <span class="fas fa-search"></span>
  </div>
  <!-- Search Box -->
  <div class="search-data">
    <input type="text" required>
    <div class="line"></div>
    <label>Type to search..</label>
    <span class="fas fa-search"></span>
  </div>
</div>

2.必要的CSS和CSS3样式。

.wrapper, .search-data{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.wrapper{
  position: fixed;
  height: 0px;
  width: 0px;
  border-radius: 100%;
  background: linear-gradient(-135deg, #c850c0, #4158d0);
  transition: all 0.4s linear;
}
.wrapper.active{
  height: 4000px;
  width: 4000px;
}
.search-btn{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 60px;
  width: 60px;
  text-align: center;
  cursor: pointer;
  border-radius: 50%;
  background: linear-gradient(-135deg, #c850c0, #4158d0);
}
.search-btn span{
  color: #fff;
  font-size: 22px;
  line-height: 60px;
}
.search-data{
  position: absolute;
  height: 50px;
  width: 400px;
  display: flex;
  text-align: center;
  /* display: none; */
}
.search-data input{
  height: 100%;
  width: 100%;
  background: none;
  border: none;
  outline: none;
  font-size: 22px;
  font-weight: 500;
  color: #fff;
}
.search-data .line{
  position: absolute;
  height: 3px;
  width: 100%;
  background: #fff;
  bottom: 0;
  transform: scaleX(0);
  transition: transform 0.4s 0.3s linear;
}
.search-data .line.active{
  transform: scaleX(1);
}
.search-data label{
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 20px;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgba(255,255,255,0.7);
}
.search-data input:valid ~ label{
  opacity: 0;
}
.search-data span{
  color: #fff;
  position: absolute;
  width: 50px;
  font-size: 25px;
  right: 0;
  top: 0;
  line-height: 45px;
  cursor: pointer;
}
.close-btn{
  position: absolute;
  z-index: 99;
  right: 25px;
  top: 25px;
  font-size: 25px;
  color: #fff;
  cursor: pointer;
}
.search-data, .search-data span,
.search-data label, .close-btn{
  display: none;
}

3.在结束body标记之前加载最新的jQuery库。

<script src="/path/to/cdn/jquery.min.js"></script>

4.启用全屏搜索框的主JavaScript(jQuery脚本)。

$(".search-btn").click(function(){
  $(".wrapper").addClass("active");
  $(this).css("display", "none");
  $(".search-data").fadeIn(500);
  $(".close-btn").fadeIn(500);
  $(".search-data .line").addClass("active");
  setTimeout(function(){
    $("input").focus();
    $(".search-data label").fadeIn(500);
    $(".search-data span").fadeIn(500);
  }, 800);
 });

$(".close-btn").click(function(){
  $(".wrapper").removeClass("active");
  $(".search-btn").fadeIn(800);
  $(".search-data").fadeOut(500);
  $(".close-btn").fadeOut(500);
  $(".search-data .line").removeClass("active");
  $("input").val("");
  $(".search-data label").fadeOut(500);
  $(".search-data span").fadeOut(500);
});

预览截图