当前位置:网站首页>搜索框效果的实现【每日一题】
搜索框效果的实现【每日一题】
2022-07-07 11:52:00 【zx_20220104】
搜索框是很常用的一个功能,因此,今天我们一起来练习写一个搜索框的效果,希望今天的这个练习对你有帮助,下面我们一起来看今天练习的最终效果:
HTML代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>【每日一练】18—搜索框效果的实现</title>
</head>
<body>
<div class="search">
<div class="icon"></div>
<div class="input">
<input type="text" name="" id="SearchInput" placeholder="Search">
</div>
<span class="clear" onclick="document.getElementById('SearchInput').value = ''"></span>
</div>
<script type="text/javascript">
const icon = document.querySelector('.icon');
const search = document.querySelector('.search');
icon.onclick = function(){
search.classList.toggle('active');
}
</script>
</body>
</html>
CSS代码:
*
{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}
body
{
position: relative;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #fafafa;
}
.search
{
position: relative;
width: 60px;
height: 60px;
background: #fff;
border-radius: 60px;
overflow: hidden;
transition: 0.5s;
box-shadow: 0 0 0 2px #00a6bc;
}
.search.active
{
width: 360px;
}
.search .icon
{
position: absolute;
left: 0;
top: 0;
width: 60px;
height: 60px;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
z-index: 1;
}
.search .icon:before
{
content: '';
position: absolute;
width: 15px;
height: 15px;
border: 3px solid #00a6bc;
border-radius: 50%;
transform: translate(-4px,-4px);
transition: 0.5s;
}
.search .icon:after
{
content: '';
position: absolute;
width: 3px;
height: 12px;
background:#00a6bc;
transform: translate(6px,6px) rotate(315deg);
}
.search .input
{
position: relative;
width: 300px;
height: 60px;
left: 60px;
background: #f0f;
display: flex;
justify-content: center;
align-items: center;
}
.search .input input
{
position: absolute;
top: 0;
width: 100%;
height: 100%;
padding: 10px 0;
border: none;
outline: none;
font-size: 18px;
}
.clear
{
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 15px;
width: 15px;
height: 15px;
display: block;
background: #fff;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
}
.clear:before
{
position: absolute;
content: '';
width: 1px;
height: 15px;
background: #999;
transform: rotate(45deg);
}
.clear:after
{
position: absolute;
content: '';
width: 1px;
height: 15px;
background: #999;
transform: rotate(315deg);
}
以上就是每日一练的全部内容,希望今天的小练习对你有用,如果你觉得有帮助的话,请点赞我,关注我!
边栏推荐
- LeetCode简单题分享(20)
- Thread pool reject policy best practices
- Excerpt from "misogyny: female disgust in Japan"
- Clion mingw64 Chinese garbled code
- Esp32 ① compilation environment
- Detr introduction
- Write it down once Net a new energy system thread surge analysis
- 566. Reshaping the matrix
- PHP - laravel cache
- ES日志报错赏析-Limit of total fields
猜你喜欢
LeetCode简单题分享(20)
Leecode3. Longest substring without repeated characters
Scripy tutorial classic practice [New Concept English]
AI人才培育新思路,这场直播有你关心的
得物客服热线的演进之路
高等数学---第八章多元函数微分学1
2022-7-6 使用SIGURG来接受外带数据,不知道为什么打印不出来
Navicat run SQL file import data incomplete or import failed
Talk about pseudo sharing
TPG x AIDU | AI leading talent recruitment plan in progress!
随机推荐
C语言数组相关问题深度理解
JS function returns multiple values
得物客服热线的演进之路
My "troublesome" subordinates after 00: not bad for money, against leaders, and resist overtime
Problems that cannot be accessed in MySQL LAN
Introduction to database system - Chapter 1 introduction [conceptual model, hierarchical model and three-level mode (external mode, mode, internal mode)]
Split screen bug notes
Getting started with cinnamon applet
Navicat运行sql文件导入数据不全或导入失败
供应链供需预估-[时间序列]
一文读懂数仓中的pg_stat
Realize the IP address home display function and number home query
PHP - laravel cache
Esp32 ① compilation environment
Help tenants
[1] ROS2基础知识-操作命令总结版
一文读懂数仓中的pg_stat
SSRF漏洞file伪协议之[网鼎杯 2018]Fakebook1
Milkdown control icon
Mongodb replication (replica set) summary