【问题标题】:Use an external CSS stylesheet to customise the appearance of the Google CSE使用外部 CSS 样式表自定义 Google CSE 的外观
【发布时间】:2011-02-09 13:57:47
【问题描述】:

我使用 Google 网站管理员工具为我的网站创建了一个搜索引擎。现在我想自定义 CSE 给出的结果格式。 Google 让我可以下载整个 CSS 文件,但是当我将它附加到我的 PHP 文档的 head 部分时,什么也没有发生——自定义样式不起作用。

当我将 Google 的样式放在 body 标签中时,一切正常,但问题是这种方式不符合万维网联盟的规则,加上我的代码变得非常“脏”和不整洁,如果我在页面正文中插入了这么长的一段 CSS 代码。

如何让我的外部样式表更改搜索引擎的默认外观?

【问题讨论】:

    标签: css google-custom-search


    【解决方案1】:

    您是否能够确定外部 CSS 样式表是否可用于自定义 Google 搜索框?

    这就是我今天所做的,它在 W3C 验证器中进行验证:

    查看此链接:a homepage with Google Custom Search and external stylesheet.

    如果您查看源代码,您会看到我从 Google 自定义搜索的“获取代码”页面上的链接下载了“源 CSS”。然后我将它上传到我网站的服务器(根据我的喜好更改 CSS 之后)。

    然后我从“获取代码”页面中取出代码的脚本部分并将它们粘贴到主页的 HTML 中,并更改了语句:

    google.load('search', '1', {language : 'en', style : google.loader.themes.MINIMALIST});
    

    到这里:

      google.load('search', '1', {language : 'en', style : src="http://hoodexc.com/css/google-search.css"});
    

    如果有人知道 java 脚本可以告诉我一个更好的方法(仅仅因为这是工作并不意味着它是最好的方法),请告诉我。

    【讨论】:

      【解决方案2】:

      在加载谷歌自定义搜索时只需提供附加参数“nocss: true”,以防止谷歌加载任何css进行搜索,这样你就可以定义所有的gcse-、gs- em> 等 css 自己上课不受干扰。

      nocss:告诉 API 是否加载任何样式表的布尔值 通常与其控件相关联。如果您不打算使用 默认 CSS,您可以通过将其设置为 true 来减少加载时间。这 默认设置为 false。

      https://developers.google.com/loader/#DetailedDocumentation

      代码:

      google.load('search', '1', { 
          callback: OnGoogleSearchLoad,
          language : 'en',
          nocss: true,
          style : src="http://example.com/assets/css/gcse.css"
      });
      

      结果(无 css,站点默认规则除外):

      GCS 的示例 css 文件:

      .gsc-tabsAreaInvisible,
      .gsc-resultsHeader,
      .gsc-branding,
      .gcsc-branding,
      .gsc-url-top,
      .gs-watermark,
      .gsc-thumbnail-inside,
      .gsc-url-bottom {
          display: none;
      }
      
      .gsc-result {
          padding: 20px 0;
          border-bottom: 1px solid #E1E1E1;
      }
      
      
      .gs-image-box {
          width: 140px;
          height: 80px;
          overflow: hidden;
      }
      
      img.gs-image {
          min-height: 80px;
      }
      
      td.gsc-table-cell-thumbnail {
          vertical-align: top;
          padding: 0;
          width: 140px;
          display: block!important;
      }
      
      td.gsc-table-cell-snippet-close {
          vertical-align: top;
          padding: 0;
          padding-left: 20px;
      }
      
      .gsc-wrapper {
          font-size: 16px;
          line-height: 20px;
      }
      
      .gsc-control-cse a {
          color: #202020;
          font-family: HelveticaNeueLTPro-Cn, Helvetica, Arial, sans-serif;
      }
      
      .gs-snippet {
          color: #777;
          margin-top: 10px;
      }
      
      b {
          font-weight: normal;
      }
      .gsc-cursor {
          width: 100%;
          height: 20px;
          text-align: center;
      }
      
      .gsc-cursor-page {
          display: inline-block;
          width: 20px;
          height: 20px;
          cursor: pointer;
          text-align: center;
          margin: 20px 0;
      }
      
      
      form.gsc-search-box {
          background: #d9dadd;
          border: 20px solid #d9dadd; 
          width: 100%;
          -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
          -moz-box-sizing: border-box;    /* Firefox, other Gecko */
          box-sizing: border-box;         /* Opera/IE 8+ */    
      }
      
      table.gsc-search-box {
          width: 100%;
      }
      
      td.gsc-search-button {
          vertical-align: middle;
          padding-left: 20px;
      } 
      
      td.gsc-input {
          vertical-align: top;
          width: 100%;
      }
      
      input.gsc-input {
          margin:0;
          width: 99%;
      }
      

      结果(带有自定义样式):

      【讨论】:

        【解决方案3】:

        我要感谢 Gniewomir 和 Kris。

        我正在使用 V1 代码在我的 wordpress 博客上安装两页布局的谷歌自定义搜索。对于搜索框,我将<div id="cse-search-form">Loading</div> 粘贴到文本小部件中,并将脚本的其余部分粘贴到标题中。

        我改变了这部分

        google.load('search', '1', {language: 'en', style: google.loader.themes.GREENSKY});
        

        google.load('search', '1', {language: 'en', nocss:true, style:"http://www.domain-name/wp-content/themes/theme-name/css/gcse.css"});
        

        同时,我下载了 GREENSKY.css 并将其保存为“gcse.css”并上传到我的服务器。

        通过 GTMETRIX 运行,HTTP 重定向上的警告消失了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-18
          • 2010-09-11
          • 2021-11-15
          • 1970-01-01
          相关资源
          最近更新 更多