利用css实现搜索过滤
无意中找到一种利用css就可实现的搜索过滤的方法,不得不说看了代码之后确实被惊艳到了,亏我之前面试还因为做这个功能做太慢而拖了后腿。在此记录下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
[type=search]{
width: 160px;
padding: 5px;
}
label{
display: block;
width: 170px;
background-color: #fff;
box-shadow: 1px 0 #ccc,0 1px #ccc,-1px 0 #ccc,0 -1px #ccc;
visibility: hidden;
}
[type=search]:focus + label{
visibility: visible;
}
</style>
</head>
<body>
<input type="search" name="">
<label for="city">
<div class="list" data-ciry="广州guangzhou">广州市</div>
<div class="list" data-ciry="哈尔滨haerbin">哈尔滨市</div>
<div class="list" data-ciry="深圳shenzhen">深圳市</div>
<div class="list" data-ciry="长春changchun">长春市</div>
<div class="list" data-ciry="成都chengdu">成都市</div>
<div class="list" data-ciry="北京beijing">北京市</div>
<div class="list" data-ciry="上海shanghai">上海市</div>
<div class="list" data-ciry="台北taibei">台北市</div>
</label> <script type="text/javascript">
var s = document.createElement('style'),
input = document.querySelector('input'); document.head.appendChild(s); input.addEventListener('input',function(){
if(this.value !== ''){
s.innerHTML = '.list:not([data-ciry*=' + this.value + ']){display:none}';
}
else{
s.innerHTML = '';
}
}) </script>
</body>
</html>
首先思路就是利用Input的focus伪类来实现下拉的隐藏显示,其次就是一个input事件给不匹配的城市给隐藏掉。
具体可参考这里。
利用css实现搜索过滤的更多相关文章
- vuejs 1.x - 实例:搜索过滤
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- 如何利用CSS选择器抓取京东网商品信息
前几天小编分别利用Python正则表达式.BeautifulSoup.Xpath分别爬取了京东网商品信息,今天小编利用CSS选择器来为大家展示一下如何实现京东商品信息的精准匹配~~ CSS选择器 目前 ...
- 利用CSS实现带相同间隔地无缝滚动动画
说明:因为在移动上主要利用CSS来做动画,所以没有考虑其他浏览器的兼容性,只有-webkit这个前缀,如果需要其他浏览器,请自行补齐. 首先解释一下什么是无缝滚动动画, 例如下面的例子 See the ...
- 如何利用CSS代码使图片和文字在同一行显示且对齐
对于初学css的新手朋友来说,经常会遇到这样一个问题,当文字和图片出现在同一行或者同一个div里面的时候,在浏览器中运行出来的显示效果往往是在不同的行,那么,我们怎么才能利用CSS代码使图片和文字在同 ...
- Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行
H1/H2/H3/H4标题标签常常使用在一个网页中唯一标题.重要栏目.重要标题等情形下. H1在一个网页中最好只使用一次,如对一个网页唯一标题使用.H2.H3.H4标签则可以在一个网页中多次出现, ...
- 利用css新属性appearance优化select下拉框
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- CSS3实战开发: 纯CSS实现图片过滤分类显示特效
原文:CSS3实战开发: 纯CSS实现图片过滤分类显示特效 各位网友大家好,今天我要带领大家开发一个纯CSS的图片分类显示的网址导航,单纯看标题大家可能有些困惑,依照以往惯例,我先给大家演示一下实际运 ...
- 利用css的border实现画三角形思路原理
1.利用Css 的border绘制三角形的原理: div的border是有宽度和颜色的,当div的宽度比较大的时候,比如上面代码每个边100像素,颜色又不一样,浏览器怎么渲染颜色呢?经测试发现,宽度较 ...
- 利用css+原生js制作简易钟表
利用css+原生js制作简单的钟表.效果如下所示 实现该效果,分三大块:html.javascript.css html部分html部分比较简单,定义一个clock的div,内部有原点.时分秒针.日期 ...
随机推荐
- web开发有那些牛逼东西可以用
1.squid 缓存网页 2.Pingdom 我使用Pingdom来验证Superexpert.com网站是否总是处在正常运行状态之中.你可以通过浏览“Pingdom.com”的方式来注册Pingdo ...
- SQL LEAD()函数 LAG()函数
lag ,lead 分别是向前,向后:lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值) SQL> select id,na ...
- asp.net——Josn转DataTable(转)
使用UI框架开发的时候就常常用到DataTable转Json的情况,但是最近完成一个微信公众号开发的项目,需要把微信接口传过来的json值作为转为DataTable后绑定到服务器控件上. 在网上找了很 ...
- asp.net——XML格式导出Excel
下面介绍一种导出Excel的方法: 此方法不需要在服务器上安装Excel,采用生成xml以excel方式输出到客户端,可能需要客户机安装excel,所以也不会有乱七八糟的权限设定,和莫名其妙的版本问题 ...
- zTree设置选中节点之后出现重复节点
1.用户离开页面时最后一次点击的节点信息我会保存到数据库. 2.用户打开页面时默认选中上一次离开时选中的节点. 现在发现在设置选中节点之后,会出现重复的节点(重复现象偶尔出现). 以下是代码: var ...
- ASP.NET Core 2.0 in Docker on Windows Containers
安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...
- iOS Mac忘记登录密码的4种解决方法
4种方法: 一.使用Apple ID重置用户账户密码 使用这个方法有一个前提 如上图红框,此项必须勾选,否则无法使用Apple ID重置密码.(如果你不记得有没有勾选,则你起码要记得首次启动 OS X ...
- Oracle数据库exp和imp方式导数据
这里导入导出路径都在D盘下,默认文件名为:example.dmpexp方式导出数据相关参数项如下: 关键字 说明 默认USERID 用户名/口令FULL ...
- Help Jimmy(动态规划)
点击打开链接 Help Jimmy Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12168 Accepted: 402 ...
- “全栈2019”Java异常第十二章:catch与异常匹配
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...