我使用Google网站站长工具为我的网站创建了搜索引擎。现在我想自定义CSE给出的结果格式。谷歌让我整个下载CSS文件,但当我将它附加到head部分内的PHP文档时,没有任何反应 - 自定义样式不起作用。
当我将Google的风格放在body标签内时,一切正常。但问题是,这种方式不符合万维网联盟的规则,如果我在页面正文中插入如此长的CSS代码,我的代码会变得非常“脏”和不整洁。
如何让外部样式表更改搜索引擎的默认外观?
答案 0 :(得分:6)
您是否能够确定外部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脚本的人可以告诉我一个更好的方法(只是因为这是有效的并不意味着它是最好的方式),请告诉我。
答案 1 :(得分:6)
在加载Google自定义搜索时,只需提供其他参数“ nocss:true ”,以防止Google加载任何用于搜索的CSS,因此您可以定义所有gcse- ,gs - 等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%;
}
结果(使用自定义样式):
答案 2 :(得分:0)
我要感谢Gniewomir和Kris。
我正在使用V1代码在我的wordpress博客上安装两页布局google自定义搜索。对于搜索框,我将<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重定向上的警告消失了。