搜索引擎优化原理(核心原理最基本的,我们需要的朋友可以参考下)

优采云 发布时间: 2021-10-31 16:13

  搜索引擎优化原理(核心原理最基本的,我们需要的朋友可以参考下)

  本文文章主要介绍使用CSS实现搜索引擎的原理分析。本文为您详细介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考。

  大家好,我是卡松。

  在CSS中,我们通过选择器(selector)来选择样式片段:

   .title { color: red; }

  总之,选择器标题对应样式颜色:红色;

  换个角度,我们也可以说:关键词.title 对应的数据颜色:红色;

  在我们的生活中,还有什么取决于这种对应关系?

  一个明显的例子:搜索引擎。

  

  在搜索引擎中输入关键词,搜索引擎检索后会返回关键词的对应数据。

  既然道理都一样,那能不能用纯CSS实现一个搜索引擎呢?

  更何况还有很多人有机器(没有)智能(聊天),还有一些人真的有一个用CSS实现的搜索引擎[1]。

  

  在搜索引擎中输入员工姓名,会显示员工信息。

  这篇文章讲述了他是如何实现的。

  核心原则

  在最基本的层面上,我们需要一个搜索框和一个容器来显示搜索结果。

  注意oninput使用了一行JS代码,也是引擎中唯一的一行JS代码

  我们要输入Tim,搜索结果Tim Carry就会显示在#result容器中。

  可以通过属性选择器+伪元素来实现:

   input[value="tim" i] ~ #result:before { content: "Tim Carry"; }

  属性选择器中的 i 代表忽略内容大小写。

  这是这个搜索引擎的核心原理。理论上,只要选择器规则越多,搜索结果就会越丰富。

  多个搜索结果

  让我们继续扩大。假设有150名员工,为他们一一建立对应关系:

  每个员工一个 div:

   […]

  每个员工一个搜索结果:

   #result0:before { content: "Aurora Pleguezelo" } // […] #result15:before { content: "Alexandre Collin" } #result16:before { content: "Alexandre Meunier" } #result17:before { content: "Alexandre Stanislawski" } // […] #result150:before { content: "Zo Asmail" }

  接下来,设置搜索规则,首先隐藏所有搜索结果:

   #results div { display: none }

  然后,选择一个粒度并建立搜索规则。例如,我们选择“姓氏”作为粒度:

   input[value="alexandre" i] ~ #results #result15, input[value="alexandre" i] ~ #results #result16, input[value="alexandre" i] ~ #results #result17 { display: block }

  当输入alexandre的姓氏时,会显示相应的结果:block:

   #result15:before { content: "Alexandre Collin" } #result16:before { content: "Alexandre Meunier" } #result17:before { content: "Alexandre Stanislawski" }

  更进一步,名称可以拆分得更细,因此搜索的粒度可以更细:

  

  可以分别用一个字母、两个字母、三个字母……建立对应关系。

  

  搜索词突出显示

  为了提升体验,我们还想“突出搜索词”。

  比如输入cle后,在搜索结果名称中cle以粗体显示:

  

  分为2个步骤:

  1.自定义字体

  

  在UTF-8的私有区域,为每个字母定义对应的加粗字体,例如:m对应这个字体中的\e64d。

  2. 在搜索结果中用粗体替换常规字母

  比如输入mar的搜索结果应该是:Marion Aguirre。

  将结果中的Mar替换为\e64d\e661\e672,即自定义字体中Mar对应的粗体。

  

  总结

  按照这个设定,这个搜索引擎唯一的限制就是作者的想象力。

  比如使用flex布局的order属性,出价排名不是梦:

  想了想,稍微怀疑一下:CSS文件会不会太大了?

  哎,只能说越小,结构越小。

  

  虽然收录150名员工的CSS文件是8MB,但毕竟收获了幸福……

  参考

  CSS实现的搜索引擎:

  以上就是一个使用CSS的搜索引擎原理分析的详细内容。更多详情请关注其他相关html中文网站文章!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线