精品欧美一区二区三区在线观看 _久久久久国色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)

亚洲国产午夜| jazzjazz国产精品麻豆| 国产精品视频观看| 91超碰在线免费观看| 国产性生活网站| 网红女主播少妇精品视频| 欧美在线免费观看亚洲| 日本a级片在线播放| 亚洲人成色777777老人头| 免费精品视频在线| 久久久久久久色| 粉嫩精品久久99综合一区| 一区二区日韩| 欧美日韩精品福利| 99视频在线免费播放| 午夜在线免费观看视频| 99久久精品免费| 91丝袜美腿美女视频网站| 超碰中文字幕在线| 国产精品mm| 日韩视频精品在线| 国精品无码人妻一区二区三区| 精品久久亚洲| 欧美四级电影网| 成 年 人 黄 色 大 片大 全| 麻豆影视在线观看_| 久久久亚洲欧洲日产国码αv| 91日韩久久| 91肉色超薄丝袜脚交一区二区| 亚洲一区久久| 韩国国内大量揄拍精品视频| 久久福利免费视频| 欧美一级精品| 亚洲欧美激情另类校园| 欧美性生交xxxxx| 国产精品久久久久久av公交车| 欧美中文字幕亚洲一区二区va在线 | 男女h黄动漫啪啪无遮挡软件| 亚欧洲精品视频| 国产成人av电影在线观看| 国产一区二中文字幕在线看| 日韩在线视频不卡| 国产日韩一区二区三区在线| 久久久免费av| 国产在线拍揄自揄拍| 综合五月婷婷| 久热精品视频在线观看| 日本美女黄色一级片| 色小子综合网| 爱福利视频一区| 天天做夜夜爱爱爱| 欧美激情另类| 久久艳片www.17c.com| 免费91在线观看| 91影院成人| 久久精品国产精品亚洲| 亚洲色图27p| 国产精品久久久久久| 久久精品99久久久久久久久| 色偷偷男人天堂| 久久精品久久久| 欧美人在线观看| 国产一级做a爰片在线看免费| 欧美久久成人| 98精品国产高清在线xxxx天堂| 国产午夜精品一区二区理论影院 | 久久久噜噜噜www成人网| 手机在线观看av| 欧美性少妇18aaaa视频| 国产精品99久久免费黑人人妻| 成年美女黄网站色大片不卡| 色婷婷精品大视频在线蜜桃视频| 青青青在线视频免费观看| 成人免费网站www网站高清| 欧美午夜视频网站| 久久久久久久久久一区二区| 蜜桃精品一区二区三区| 亚洲精品久久久久国产| 免费在线观看污| 久久社区一区| 欧美激情视频在线观看| 久久久久久久极品| 蜜臂av日日欢夜夜爽一区| 92国产精品视频| 无码国产伦一区二区三区视频 | 日韩三级视频中文字幕| 日本一区二区免费视频| 亚洲免费成人av在线| 深夜福利亚洲导航| 免费中文字幕视频| 性8sex亚洲区入口| 成人午夜在线影院| 无码国产伦一区二区三区视频| 欧美激情一区二区三区在线| 麻豆映画在线观看| 都市激情亚洲一区| 欧美一区二区三区四区高清| 亚洲精品女人久久久| 欧美疯狂party性派对| 久久久久久久影院| 在线观看xxxx| 久久综合久久综合九色| 午夜啪啪免费视频| 涩涩涩在线视频| 日韩一级片在线观看| 亚洲a v网站| 国内一区二区三区| 国产玖玖精品视频| 少妇荡乳情欲办公室456视频| 中文在线一区二区| 成人免费在线网| 四虎国产精品成人免费影视| 日韩精品在线观看网站| 免费在线观看一级片| 日本亚洲欧美天堂免费| 久久黄色一级视频| 丝袜美女在线观看| 日本乱人伦一区| 丰满人妻一区二区三区大胸| 国产成人调教视频在线观看| 久久免费在线观看| 91中文字幕在线播放| 久久天堂av综合合色蜜桃网| 国产成人一二三区| 青青草国产一区二区三区| 日韩电影中文字幕一区| 久久机热这里只有精品| 久久精品国产成人一区二区三区| 久久久一本精品99久久精品| 久色国产在线| 91精品国产色综合久久| 国产美女永久免费无遮挡| 雨宫琴音一区二区在线| 亚洲一区亚洲二区| 日韩在线观看www| 在线观看亚洲专区| 免费黄色在线视频| 亚洲国产网站| 国产91精品入口17c| 污片在线免费观看| 91精品一区二区三区久久久久久 | 久久免费福利视频| 一区二区三区日| 中文字幕电影一区| 天堂在线资源视频| 欧美色蜜桃97| 国产精品三级久久久久久电影| 麻豆国产在线播放| 色av一区二区| 国产精品www爽爽爽| 日韩成人伦理电影在线观看| 欧美一区二区在线| 精品网站在线| 最近的2019中文字幕免费一页 | 蜜桃视频一区二区三区 | 中文在线观看免费视频| 欧美日本久久| 国产一区自拍视频| 少妇淫片在线影院| 亚洲欧美另类在线观看| 久久久久久久久久成人| 国产农村妇女精品| 岛国毛片在线播放| 久久精品亚洲人成影院| 97碰碰视频| 漫画在线观看av| 亚洲最新视频在线| 亚洲综合一区中| 亚洲欧洲中文日韩久久av乱码| 1314成人网| 亚洲电影成人| 欧美日韩高清免费| 国产91亚洲精品久久久| www国产91| av男人天堂网| 图片区小说区区亚洲影院| 人妻体内射精一区二区| 免费看日韩精品| 9色视频在线观看| 牛牛视频精品一区二区不卡| 欧美综合第一页| av在线电影网| 日韩精品一区二区三区中文不卡 | 视频精品一区二区| 正在播放久久| 国产精品99久久免费观看| 欧美专区日韩视频| 男人天堂久久久| 精品1区2区在线观看| 国产一区免费看| 亚洲精品伦理在线| 新91视频在线观看| 国产资源精品在线观看| 毛片在线视频播放| 色乱码一区二区三区网站| 97超碰最新| 欧美日韩精品免费观看视欧美高清免费大片| 在线精品视频视频中文字幕| 丰满肉肉bbwwbbww| 欧美主播一区二区三区美女| 久草国产在线观看| 欧美激情一区二区三区蜜桃视频| ass极品水嫩小美女ass| 日韩高清不卡在线| 成人午夜精品久久久久久久蜜臀| 日本高清免费电影一区| 国产区一区二区| 亚洲一区导航| 国产97人人超碰caoprom| 日本动漫同人动漫在线观看| 中文字幕免费精品一区| 天天操天天爱天天干| 欧美精品三级在线观看| 久久久精品毛片| 亚洲国产精品久久人人爱蜜臀| 黄色av片三级三级三级免费看| 成年人网站91| 中文字幕在线视频一区二区| 日本欧美一区二区三区| 91成人在线观看喷潮教学| 亚洲国产精品91| 亚洲人成影视在线观看| 国产成人1区| 老司机精品福利在线观看| 成人av地址| 亚洲www永久成人夜色| 日韩高清在线| 日本久久久久久久久| 91探花在线观看| 欧美大片第1页| 国产最新在线| 久久精品欧美视频| 成人高清网站| 夜夜嗨av一区二区三区免费区| 青青国产在线| 日韩精品免费在线| 欧美一区二区黄片| 精品久久久久av影院| 国产aⅴ爽av久久久久成人| 欧美日韩国产美女| 中文字幕一区二区三区免费看| 色哟哟国产精品免费观看| 日韩欧美亚洲一区二区三区| 亚洲国产成人精品视频| 久久综合综合久久| 亚洲一区精品在线| 久久婷婷国产麻豆91| 亚洲线精品一区二区三区| 欧美日韩综合一区二区| 亚洲精品第一国产综合野| 青草草在线视频| 亚洲一区二区三区四区在线| 久久久精品人妻一区二区三区四| 亚洲精品免费一二三区| 免费在线一级片| 午夜精品久久久久| 波多野结衣国产| 日本韩国欧美一区二区三区| 中文人妻熟女乱又乱精品| 欧美日韩另类一区| 国产精品欧美综合亚洲| 日韩一区二区三区电影| 亚洲精品久久久久久动漫器材一区| 欧美成va人片在线观看| 色窝窝无码一区二区三区| 日韩精品视频三区| 国产网站在线播放| 日韩有码在线电影| av观看在线| 91精品国产91久久久久久久久| 亚洲淫成人影院| 国产精品入口夜色视频大尺度 | 欧美精品一区二区三区蜜臀| 视频污在线观看| 国产亚洲精品美女久久久久| 日本在线人成| 久久久久久久久爱| 国产精品粉嫩| 成人免费在线视频网址| 粉嫩精品导航导航| 日产国产精品精品a∨| 五月天激情综合网| 18黄暴禁片在线观看| 噜噜噜久久亚洲精品国产品小说| 亚洲国产日韩欧美在线观看| 风间由美性色一区二区三区| 日韩乱码人妻无码中文字幕久久| 1024成人网色www| 日韩黄色在线视频| 欧美视频一区二| 亚洲经典一区二区| 亚洲热线99精品视频| 成年人网站在线| 91国产美女视频| 四虎在线精品| 美日韩精品免费| 综合天堂av久久久久久久| 一二三四视频社区在线| 老司机免费视频一区二区| 91人人澡人人爽| 欧美国产精品中文字幕| 国产一级性生活| 欧美高清性hdvideosex| 五月婷婷六月丁香综合| 日韩在线观看免费全| 亚洲插插视频| 97在线资源站| 999国产精品| 激情网站五月天| 波多野结衣亚洲一区| 亚洲色偷偷综合亚洲av伊人| 欧美日韩亚洲国产一区| 精品人妻一区二区三区浪潮在线| 国产一区二区三区久久精品| 9765激情中文在线| 亚洲一区亚洲二区| 日韩88av| 精品久久久久久中文字幕2017| 成人精品视频网站| 日韩成人短视频| 欧美日精品一区视频| 亚洲av成人无码久久精品老人| 美日韩在线视频| 国产精品美女午夜爽爽| 欧美裸体网站| 亚洲毛片播放| 韩国三级视频在线观看| 亚洲欧洲www| 亚洲综合免费视频| 中文字幕视频一区二区在线有码| 成人在线高清免费| 97netav| 亚洲天堂免费| 久久久久久久久久久久久久久国产| 国产欧美精品区一区二区三区| 丁香社区五月天| 亚洲精品日韩丝袜精品| 蜜桃视频在线观看播放| 国产精品一区二| 黑人一区二区三区四区五区| 99国产精品免费视频| 一区二区三区在线观看动漫 | 亚洲欧美日韩一区二区在线| av成人 com a| 国产视色精品亚洲一区二区| 一区福利视频| xxxx黄色片| 欧美日韩亚洲网| 四虎影视精品成人| 日本成人黄色片| 国产免费av一区二区三区| aa免费在线观看| 国产亚洲精品aa午夜观看| 精品欧美一区二区三区免费观看 | 99久久精品免费观看国产| 91亚洲国产成人久久精品网站| 99欧美视频| 日韩不卡的av| 亚洲国产中文字幕在线视频综合| 肥臀熟女一区二区三区| 国内精品小视频在线观看| 欧美变态网站| 青青在线免费观看视频| 欧美激情中文不卡| 国产精品国产一区二区三区四区| 久久亚洲私人国产精品va| 欧美视频二区欧美影视| 精品丰满人妻无套内射| www激情久久| 亚洲天堂999| 色综合视频网站| 色婷婷久久久| 少妇网站在线观看| 亚洲欧美欧美一区二区三区| 亚洲精品国产suv一区| 午夜精品久久久99热福利| 亚洲69av| 精品久久久99| 天天免费综合色| 岛国大片在线观看| 亚洲va欧美va国产综合久久| 一本色道久久综合| 亚洲午夜精品久久久久久高潮| 欧美精品v国产精品v日韩精品| 久操av在线| 日日骚一区二区网站| 国产一区二区伦理片| 午夜影院在线看| 精品精品国产国产自在线| 狠狠一区二区三区| 午夜久久久精品| 亚洲18色成人| 日韩成人影视| 国产在线欧美日韩| 美国欧美日韩国产在线播放| 国产亚洲第一页| 俺去啦;欧美日韩| 美女毛片一区二区三区四区最新中文字幕亚洲 | 日韩高清一区在线| www.色小姐com|