在过去的几年里,网页设计的一个新趋势是创造全屏网站搜索体验。
这是一个搜索框,它充分利用了网页及其提供的所有房地产,展示了搜索功能和一些非常酷的全屏效果。
这可以使用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);
});