如何使用CSS手动样式化Google自定义搜索

如何使用CSS手动样式化Google自定义搜索

很多用户或者开发者想要使用内置和/或自定义搜索来代替谷歌自定义搜索引擎(GCSE)来搜索他们的内容。因为这样做更加简单,往往也能达到效果。但是如果你不想使用高级过滤器或者自定义搜索参数,那么GCSE对你来说是个不错的选择。

在本文中,我将展示给你如何创建一个自定义搜索表单和一个结果框,这样你就能更好地控制和更清晰地样式化搜索输入框。

问题陈述: 通常将GCSE添加到你的站点上只需要复制粘贴一个脚本和一个自定义HTML标签就行了,但是问题是 “如何修改GCSE输入框的占位符?” 。不幸的是,经常的答案是不可靠的setTimeout方法。这并不有用,因为setTimeout会等待GCSE的Ajax调用完成后才通过JavaScript更改属性。

在这个方法中,我们将不再使用盲目的setTimeout(),而是通过JS查询元素并改变属性,并使用GCSE提供的回调函数。这将确保输入框已经加载完成。

自定义搜索引擎的实现: 按照以下步骤创建一个自定义搜索引擎:

步骤1: 创建一个GCSE账号。搜索引擎的配置完全在线上进行。要创建一个账号,请转到GCSE网站并点击添加按钮。按照下面所示的表单填写这个表单,包括你的网站URL。你可以忽略高级选项,只设置主要工具。

点击添加按钮后,你会得到下面这个表单。按照下面所示的方式填写你的网站URL和名称:

如何使用CSS手动样式化Google自定义搜索

填写表格后,您将获得搜索引擎ID和代码。

如何使用CSS手动样式化Google自定义搜索

步骤2: 当你点击“完成”时,会出现三个选项,第一个选项是点击“获取代码”,这将帮助你复制搜索栏的代码,在你的网站上显示。

如何使用CSS手动样式化Google自定义搜索

第二个是公共URL,它会告诉你搜索引擎的地址。

如何使用CSS手动样式化Google自定义搜索

步骤3: 最后是控制面板。您可以在这里找到GCSE Id。进入控制面板,复制搜索引擎ID并保存在记事本上。

如何使用CSS手动样式化Google自定义搜索

步骤4:编写搜索代码:

  • index.html 首先,我们需要创建一个基本的index.html来显示搜索栏。我们创建一个基本的HTML文件,并从GCSE帐户复制代码。它显示一个搜索栏。

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Styling Google Custom Search Box</title>
    <link rel="stylesheet" href="style.css"
          type="text/css" media="all" />
    <script src="script.js"></script>
</head>
<body>
    <h1 style="color:green">GFG custom search engine</h1>
    <script async src="https://cse.google.com/cse.js?
                       cx= 210b06286d70b46c7">
    </script>
    <div class="gcse-search"></div>
</body>
</html>
  • script.js:index.html 中,我们将添加JavaScript代码来更改搜索栏的占位符文本,并进行样式设置。你可以将JavaScript代码写入 index.html 中,也可以创建独立的JavaScript文件。在此示例中,我们将JavaScript代码添加到了index.html中。

Javascript

(function () {
    var cx = '210b06286d70b46c7';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol ==
        'https:' ? 'https:': 'http:') +
    '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
})();
window.onload = function () {
    var title = "Search Geeksforgeeks";
    var textBox = document.querySelector("#gsc-i-id1");
    var button = document.querySelector
    (".gsc-search-button-v2 svg title");
    textBox.placeholder = title;
    textBox.title = title;
    button.innerHTHL = title;
}
  • style.css: 使用CSS,我们将手动设置搜索栏的样式。

CSS

body {
    margin: 10;
}
.gsc-control-cse {
    background-color: #387deb !important;
    border: 0 !important;
    padding: 6px 8px 6px 10px !important;
    margin: 0px;
    border-radius: 2px;
    overflow: hidden;
}
form.gsc-search-box,
table.gsc-search-box {
    margin-bottom: 0 !important;
}
.gcse-search-box {
    border: 0 !important;
    background: #387deb !important;
}
.gcse-search-box-tools .gcse-search-box .gcse-input {
    padding-right: 0 !important;
}
#gs_tti50 {
    padding: 6px 0 !important;
}
#gsc-i-id1 {
    color: #000 !important;
    text-indent: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    background: none !important;
}
#gsc-i-id1::-webkit-input-placeholder {
    color: #000 !important;
}
#gsc-i-id1::-as-input-placeholder {
    color: #fff;
}
#gsc-i-id1::-moz-placeholder {
    color: #fff;
    opacity: 1;
}
#gsc-i-id1::-moz-placeholder {
    color: #fff;
    opacity: 1;
}
.gsib_b {
    display: none !important;
}
.gsc-search-button -v2 {
    padding: 7.5px !important;
    margin-left: !important;
    outline: none !important;
    border: !important;
    cursor: pointer;
}
.gsc-search-button-v2,gsc-search-button-v2: hover {
    cursor: pointer;
}
.gsc-search-button-v2,gsc-search-button-v2: hover {
    background-color: transparent !important;
    background-image: none !important;
}
.gsc-search-button -v2:focus {
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    background-image: none !important;
}
.gsc-search-button -v2:focus {
    outline: none !important;
    box-shadow: none !important;
}

输出:

如何使用CSS手动样式化Google自定义搜索

结论: 使用简单的CSS样式化搜索栏非常迅速,如果网站是静态HTML的话,那么谷歌自定义搜索引擎完美适用。通过添加一些JavaScript代码,可以自定义搜索栏。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程