精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何用CSS實(shí)現(xiàn)一個(gè)搜索引擎?

開(kāi)發(fā) 前端
在搜索引擎中輸入關(guān)鍵詞,搜索引擎經(jīng)過(guò)檢索,返回關(guān)鍵詞對(duì)應(yīng)的數(shù)據(jù).既然道理都一樣,那能不能用純CSS實(shí)現(xiàn)一個(gè)搜索引擎呢?本文來(lái)聊聊他是如何實(shí)現(xiàn)的。

[[423373]]

大家好,我卡頌。

在CSS中,我們通過(guò)selector(選擇器)選擇樣式片段:

  1. .title { 
  2.   color: red; 

簡(jiǎn)而言之,選擇器title對(duì)應(yīng)樣式color: red;

換個(gè)角度,我們也可以說(shuō):關(guān)鍵詞.title對(duì)應(yīng)數(shù)據(jù)color: red;

在我們生活中,還有什么東西依賴這種對(duì)應(yīng)關(guān)系呢?

一個(gè)很顯然的例子:搜索引擎。

在搜索引擎中輸入關(guān)鍵詞,搜索引擎經(jīng)過(guò)檢索,返回關(guān)鍵詞對(duì)應(yīng)的數(shù)據(jù).

既然道理都一樣,那能不能用純CSS實(shí)現(xiàn)一個(gè)搜索引擎呢?

別說(shuō),機(jī)(無(wú))智(聊)的人還是很多的,真的有人搞了CSS實(shí)現(xiàn)的搜索引擎[1]

在該搜索引擎中輸入員工姓名,會(huì)顯示員工信息。

本文來(lái)聊聊他是如何實(shí)現(xiàn)的。

核心原理最基本的,我們需要一個(gè)搜索框,和一個(gè)顯示搜索結(jié)果的容器。

  1. <input type="search" value="" 
  2.   oninput="this.setAttribute('value', this.value)" 
  3. /> 
  4. <div id="result"></div> 
  • 注意oninput使用了一行JS代碼,這也是引擎中唯一一行JS代碼

我們希望輸入Tim,#result容器內(nèi)顯示搜索結(jié)果Tim Carry。

可以通過(guò)屬性選擇器 + 偽元素實(shí)現(xiàn):

  1. input[value="tim" i] ~ #result:before { 
  2.  content: "Tim Carry"

其中屬性選擇器中的i代表忽略內(nèi)容大小寫(xiě)。

這就是本搜索引擎的核心原理,理論上只要選擇器規(guī)則越多,搜索結(jié)果就越豐富。

多個(gè)搜索結(jié)果

讓我們繼續(xù)擴(kuò)展。假設(shè)有150個(gè)員工,為他們一一建立對(duì)應(yīng)關(guān)系:

每個(gè)員工一個(gè)div:

  1. <div id="results"
  2.   <div id="result0"></div> 
  3.   <div id="result1"></div> 
  4.   <div id="result2"></div> 
  5.   […] 
  6.   <div id="result148"></div> 
  7.   <div id="result149"></div> 
  8.   <div id="result150"></div> 
  9. </div> 

每個(gè)員工一條搜索結(jié)果:

  1. #result0:before { content: "Aurora Pleguezelo" } 
  2. // […] 
  3. #result15:before { content: "Alexandre Collin" } 
  4. #result16:before { content: "Alexandre Meunier" } 
  5. #result17:before { content: "Alexandre Stanislawski" } 
  6. // […] 
  7. #result150:before { content: "Zo Asmail" } 

接下來(lái),設(shè)定搜索規(guī)則,首先隱藏所有搜索結(jié)果:

  1. #results div { display: none } 

然后,選擇一個(gè)粒度,建立搜索規(guī)則,比如我們選擇“姓”作為粒度:

  1. input[value="alexandre" i] ~ #results #result15, 
  2. input[value="alexandre" i] ~ #results #result16, 
  3. input[value="alexandre" i] ~ #results #result17 { 
  4.  display: block 

當(dāng)輸入alexandre這個(gè)姓時(shí),對(duì)應(yīng)的結(jié)果會(huì)display: block:

  1. #result15:before { content: "Alexandre Collin" } 
  2. #result16:before { content: "Alexandre Meunier" } 
  3. #result17:before { content: "Alexandre Stanislawski" } 

更近一步,姓名可以拆的更細(xì),所以搜索的粒度可以更細(xì):

可以分別以一個(gè)字母、兩個(gè)字母、三個(gè)字母...建立對(duì)應(yīng)關(guān)系。

搜索詞高亮

為了提升體驗(yàn),我們還希望「搜索詞高亮」。

比如,輸入cle后,搜索結(jié)果姓名中cle是加粗顯示的: 

[[423375]]

分為2步實(shí)現(xiàn):

自定義字體

在UTF-8的私有區(qū)域,為每個(gè)字母定義對(duì)應(yīng)的加粗字體,比如:m在該字體中對(duì)應(yīng)\e64d。

在搜索結(jié)果中用加粗字體替換常規(guī)字母

比如,輸入mar的搜索結(jié)果應(yīng)該為:Marion Aguirre。

將結(jié)果中的Mar替換為\e64d \e661 \e672,也就是自定義字體中對(duì)應(yīng)Mar的粗體字母。

總結(jié)

按照這個(gè)設(shè)定,制約本搜索引擎的,只有作者的想象力了。

比如使用flex布局的order屬性,競(jìng)價(jià)排名不是夢(mèng):

如果你思考一陣,略帶疑惑的問(wèn):那CSS文件會(huì)不會(huì)很大?

哎,只能說(shuō),小了,格局小了。

雖然收錄150個(gè)員工的CSS文件有8MB大,但是畢竟收獲了快樂(lè)......

參考資料

[1]CSS實(shí)現(xiàn)的搜索引擎:

https://community.algolia.com/algoliasearch-client-css/demo/

 

責(zé)任編輯:姜華 來(lái)源: 魔術(shù)師卡頌
相關(guān)推薦

2017-11-27 13:39:29

Python大數(shù)據(jù)搜索引擎

2020-10-28 11:40:08

MySQL索引數(shù)據(jù)庫(kù)

2024-02-27 07:33:32

搜索引擎Rust模型

2020-12-31 09:20:51

Redis搜索引擎

2011-06-20 18:23:06

SEO

2020-12-10 11:18:47

Redis搜索引擎Java

2023-02-08 10:45:23

2009-07-30 10:40:56

搜索引擎優(yōu)化網(wǎng)站

2017-03-20 17:59:19

JavaScript模板引擎

2017-03-15 08:43:29

JavaScript模板引擎

2017-08-07 08:15:31

搜索引擎倒排

2025-08-04 07:47:44

2015-08-31 10:41:58

搜索引擎Google云應(yīng)用

2020-03-20 10:14:49

搜索引擎倒排索引

2022-03-31 20:15:21

圖像搜索引擎

2022-10-08 09:13:18

搜索引擎?站

2012-09-07 13:22:21

搜索搜狗

2010-04-20 11:43:46

2009-02-19 09:41:36

搜索引擎搜狐百度

2009-09-22 16:23:52

搜索引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成年人观看网站| 国产一区二区香蕉| 国产成人精品无码片区在线| 成av人片在线观看www| 久久免费视频色| 国产日韩综合一区二区性色av| 国产传媒免费在线观看| 国产精品巨作av| 在线免费精品视频| 丁香婷婷综合激情| 国产二区视频在线观看| 国产成人av自拍| 国产成人激情视频| 久久精品一区二区三区四区五区| 亚洲精品福利| 欧美午夜精品久久久久久孕妇| 成人高清dvd| 国产一级免费在线观看| 国产a级毛片一区| 国产精品高潮呻吟久久av无限 | 91视频免费观看| 国产欧美亚洲视频| 日本一区二区三区精品| 综合久久一区| 伊人青青综合网站| 无码精品一区二区三区在线播放| 国精品产品一区| 精品国产乱码久久久久久虫虫漫画| 亚洲综合av一区| 日本亚洲一区| 成人91在线观看| 91久久嫩草影院一区二区| 久久久黄色大片| 极品裸体白嫩激情啪啪国产精品| www.欧美免费| 免费人成又黄又爽又色| 欧美精品国产白浆久久久久| 日韩一区二区免费高清| 99久久国产宗和精品1上映| xxx.xxx欧美| 亚洲愉拍自拍另类高清精品| 中文字幕日韩一区二区三区| av网站在线播放| 久久精品视频网| 久久成人资源| 手机在线精品视频| 国产v日产∨综合v精品视频| 亚洲r级在线观看| 国产精品视频在线观看免费| 麻豆视频一区二区| 国产精品av网站| 五月婷婷激情五月| 天堂一区二区在线免费观看| 亚洲91精品在线| 国产精品变态另类虐交| 欧美区亚洲区| 欧美激情中文网| 精品深夜av无码一区二区老年| 欧美日韩网站| 久久97久久97精品免视看| 国产这里有精品| 欧美先锋影音| 久久青草福利网站| 亚洲精品午夜久久久久久久| 肉肉视频在线观看| 娇妻被老王脔到高潮失禁视频| 久久99爱视频| 青青国产在线| 久久综合网色—综合色88| 九九99久久| 午夜在线视频免费| 久久久精品中文字幕麻豆发布| 欧美日本亚洲| 9色在线视频网站| 中文字幕日韩一区| 国产精品88久久久久久妇女| xxx性欧美| 色综合天天综合给合国产| 日韩一级在线免费观看| 麻豆久久久久| 日韩一区二区三区观看| 久久久久久久无码| 欧美综合在线视频观看| 日韩中文理论片| 免费视频一二三区| 亚洲欧美激情诱惑| 国产精品美乳一区二区免费| 国产伦一区二区| 99久久国产综合精品色伊| 日本高清视频一区二区三区| 国产素人视频在线观看| 亚洲成人av电影| 亚洲免费av一区二区三区| 亚洲欧美专区| 日韩午夜激情电影| 中文字幕免费高清| 欧美在线亚洲| 国产成人午夜视频网址| 国产chinasex对白videos麻豆| 成人av在线资源网| 亚洲乱码一区二区三区| 久久不射影院| 亚洲免费一区二区| 国产精品96久久久久久| 国产精品熟女久久久久久| 91在线一区二区三区| 中文精品一区二区三区 | 2020国产精品久久精品美国| 日韩av一级大片| 图片区小说区亚洲| 欧美性极品少妇精品网站| 91精品视频国产| 亚洲亚洲免费| 欧美高清在线视频观看不卡| 中文字幕第三页| 91在线小视频| 日本中文字幕一级片| 亚洲综合av一区二区三区| 中文字幕视频二区| 99久久国产综合色|国产精品| 26uuu成人| 久久精品xxxxx| 日韩精品视频在线播放| 久久久久亚洲AV| 久久国产夜色精品鲁鲁99| 裸体丰满少妇做受久久99精品| 国产黄大片在线观看画质优化| 日本久久电影网| 三级视频网站在线观看| 欧美日韩成人| 成人免费福利在线| 成人精品一区| 色88888久久久久久影院野外| 亚洲自拍偷拍精品| 在线观看日韩| 91九色国产视频| 888av在线| 欧美性生活久久| 免费毛片视频网站| 免费亚洲网站| 久久亚洲国产精品日日av夜夜| 欧洲成人综合网| 日韩欧美中文字幕精品| 国精产品一区一区二区三区mba| 日韩精品91亚洲二区在线观看| 美女主播视频一区| 日韩精品av| 亚洲精品动漫100p| 免费观看一区二区三区毛片| youjizz久久| 草b视频在线观看| 久久久久观看| 91福利视频网| 欧美偷拍视频| 色悠久久久久综合欧美99| 欧美一区二区三区成人精品| 免费日韩精品中文字幕视频在线| 久久久久久99| 校园春色亚洲色图| 国产一区二区三区精品久久久| 波多野结衣电影在线播放| 久久精品一区八戒影视| 日本在线视频www| 成人毛片免费看| 国产在线观看精品| 哥也色在线视频| 精品久久一二三区| 久久午夜免费视频| 国产亚洲一区二区在线观看| 深夜黄色小视频| 影视一区二区| 久久精品国产美女| 成人在线视频免费| 欧美成人网在线| 婷婷视频在线观看| 色诱视频网站一区| 亚洲 欧美 变态 另类 综合| 国产成人在线影院| 男人和女人啪啪网站| av在线不卡顿| 亚洲自拍中文字幕| 国产精品vvv| 在线视频日韩精品| 国产黄a三级三级三级| 午夜欧美2019年伦理 | 欧美国产精品中文字幕| 中文字幕日韩综合| 很黄很黄激情成人| 日韩视频专区| 99这里只有精品视频| 国产成人精彩在线视频九色| 蜜芽在线免费观看| 亚洲国产精品999| 亚洲视屏在线观看| 亚洲网友自拍偷拍| jizz18女人高潮| 国产成人av一区二区三区在线观看| 日韩av一二三四区| 亚洲国产精品久久久天堂| 精品综合久久| 国产aⅴ精品一区二区四区| 91精品国产乱码久久久久久蜜臀 | 亚洲日本成人在线观看| 一起草在线视频| 久久99久久99| 色综合av综合无码综合网站| 国产精品久久久久久久免费观看| 国产一区在线免费观看| 日韩成人综合网站| 欧美综合一区第一页| 日本大片在线播放| 中文字幕亚洲一区| 日本韩国一区| 精品国产sm最大网站免费看| 一二三四区在线| 日韩欧美第一页| 国产成人啪精品午夜在线观看| 国产精品区一区二区三区| 亚洲精品乱码久久久久久不卡| 国产一区二区中文字幕| 香蕉视频网站入口| 亚洲女人av| 日韩伦理在线免费观看| 一区二区在线影院| 亚洲免费精品视频| 欧美人与拘性视交免费看| 国产欧美韩日| 中文无码日韩欧| 亚洲一区二区三区在线视频| 国产精品第一国产精品| 日本亚洲欧洲色α| 欧亚在线中文字幕免费| 成人自拍视频在线观看| 国产午夜精品一区二区三区四区 | 国产精品久久久久久久久久尿 | 欧洲亚洲一区二区三区| 欧美贵妇videos办公室| 精品国产一区二区三区免费| 色网站免费观看| 欧美一区二区三区系列电影| 日本熟女毛茸茸| 色综合色综合色综合色综合色综合 | 中文字幕欧美日韩va免费视频| 日本人妖在线| 亚洲精品影视在线观看| 天堂中文在线资源| 亚洲第一页自拍| 乱色精品无码一区二区国产盗| 日韩午夜在线观看视频| av在线亚洲天堂| 日韩欧美电影一区| 国产高清在线观看视频| 日韩欧美一卡二卡| 亚洲国产成人精品一区二区三区| 日韩精品一区二区三区在线播放 | 国产精品久久久久久久久久精爆| 精品久久久国产精品999| 日韩欧美大片在线观看| 午夜av一区二区三区| 免费99视频| 欧洲亚洲精品久久久久| 成人免费视频a| 精品伊人久久| av在线亚洲男人的天堂| 加勒比色综合久久久久久久久 | 国内精品久久久久久久久电影网 | 欧美午夜影院在线视频| 国产99免费视频| 欧美精品久久一区| 国产高清视频免费| 日韩av影视综合网| 久久这里精品| 久久精品视频va| 丁香花在线影院| 国产成人aa精品一区在线播放| 欧美亚洲福利| 国产超碰91| 欧美男同视频网| 亚洲啊啊啊啊啊| 在线视频亚洲| 国产九九在线视频| 精品一区二区三区的国产在线播放 | 亚洲欧洲一区二区在线观看| 雨宫琴音一区二区三区| 男人和女人啪啪网站| 麻豆成人av在线| 成人啪啪18免费游戏链接| 久久综合九色综合久久久精品综合| 亚洲午夜久久久久久久国产| 亚洲女人的天堂| 五月激情六月丁香| 欧美美女直播网站| 天天爱天天干天天操| 搡老女人一区二区三区视频tv| 色呦呦在线资源| 国产国语刺激对白av不卡| 精品国产亚洲一区二区在线观看 | 午夜视频一区| 久久人妻精品白浆国产 | 亚洲一区二区三区毛片| 亚洲婷婷丁香| www.18av.com| 天堂蜜桃一区二区三区| 中文字幕无人区二| 欧美国产亚洲另类动漫| 亚洲国产精一区二区三区性色| 欧美午夜影院一区| 色香蕉在线视频| 久热在线中文字幕色999舞| 电影一区二区三区| 成人3d动漫一区二区三区91| 日韩在线精品| 妺妺窝人体色www在线小说| 国产精品夜夜嗨| 极品尤物一区二区| 高跟丝袜一区二区三区| 国产成人av免费看| 日韩亚洲在线观看| 人人鲁人人莫人人爱精品| 国产超碰91| 欧美精品国产一区二区| 中文字幕免费高清在线| 久久久夜色精品亚洲| 国产精品成人av久久| 欧美一区二区视频网站| √新版天堂资源在线资源| 午夜精品一区二区三区在线| 天堂久久av| 艳母动漫在线免费观看| 蜜桃视频一区二区三区| xxxxx在线观看| 精品国产乱码久久久久久天美| 可以免费看毛片的网站| 欧美日韩不卡合集视频| 欧洲大片精品免费永久看nba| 亚洲视频小说| 麻豆成人久久精品二区三区红 | 手机看片1024日韩| 久久久亚洲成人| 极品束缚调教一区二区网站 | 日韩国产精品大片| 真实乱视频国产免费观看| 色狠狠一区二区三区香蕉| 欧美黄色小说| 国产精品91久久久| 精品日韩一区| 奇米视频888| 亚洲婷婷综合色高清在线| 91成人国产综合久久精品| 日韩在线观看免费av| 999精品嫩草久久久久久99| eeuss中文| 国产精品888| 久久久香蕉视频| 日韩av在线免费观看一区| 极品在线视频| 欧美在线播放一区二区| 日韩av一区二区在线影视| 嘿嘿视频在线观看| 制服丝袜av成人在线看| 亚洲电影视频在线| 国产高清一区二区三区| 99热免费精品在线观看| 真人bbbbbbbbb毛片| 在线区一区二视频| 国产在线看片| 国产精品视频在线免费观看| 亚洲久久在线| 亚洲精品视频网址| 日韩欧美色综合网站| 忘忧草在线日韩www影院| 秋霞毛片久久久久久久久| 久久99精品国产91久久来源| 麻豆视频在线观看| 亚洲精品永久免费| 成人国产精品| 狠狠干视频网站| 久久综合久久综合久久| 国产一区二区女内射| 久久久最新网址| 加勒比久久综合| 亚洲高清av一区二区三区| 亚洲电影激情视频网站| 精品av中文字幕在线毛片| 成人黄色网免费| 日韩一级在线| 少妇视频在线播放| 日韩欧美的一区| 日韩网站中文字幕| 黄色成人在线免费观看| 久久久蜜臀国产一区二区| 国产精品无码白浆高潮| 国内伊人久久久久久网站视频 | 日本一本中文字幕| 国产欧美精品在线观看| 丰满少妇一级片| 国产精品永久免费在线| 1024精品一区二区三区| 性欧美疯狂猛交69hd| 精品网站999www|