为什么wp_head()在主题标题的顶部创建了上边距?


8

我正在创建一个自定义主题,元素的行为应达到预期,但是当我放置<?php wp_head() ?>标签时,在主题标题的顶部获得了一个上边距。

当我删除时,<?php wp_head(); ?>边距消失了。我已经有一段时间了,任何帮助都会很棒。


1
在输出任何html之前,钩到wp_head的东西正在输出空间?
米洛

Answers:


10

不看就很难看,但是有根据的猜测:

很有可能是管理栏的CSS,它仅在您登录时显示。<?php wp_head() ?>它将包括它的css,并<?php wp_footer(); ?>包括管理栏的html。

如果您看的话,它实际上应该是添加到html标签的页边空白。


同意,几次见过这个问题
MartinJJ 2011年

1
是的,我已经帮了几个​​人,看到了这个。我认为最大的问题是人们没有在模板中包含wp_footer()
Ryan Gibbons,

致OP-我想您应该接受这个答案。
Greeso

2

如果您尝试通过钩住show_admin_bar过滤器来隐藏管理栏,但是这样做太晚了init例如,默认优先级为时已晚),您将获得额外的28px上边距,但那里没有管理栏。


1

我也发生了这种情况,该空间用于主题顶部的管理栏,并显示给已登录的用户。

如果您在使用自定义主题的浏览器中登录了WordPress仪表板,则存在问题。

只需从WordPress管理员帐户注销,然后再次打开您的自定义主题即可。


1

我也遇到了同样的问题,并通过添加以下内容解决了该问题:

html{ margin-top:0px !important;}

将主题放在CSS文件的顶部。


2
这个答案不起作用,因为28px是内联添加的,它优先于CSS文件中的任何内容

1

实际上,可以在CSS文件的顶部添加“ margin-top:0px!important”,但是仅当您重新安排头信息以在调用wp_head之后调用css文件时才可以。

最低的CSS属性将在100%的时间被应用。


“最低的CSS属性将在100%的时间被应用。” -不一定取决于存在的其他选择器的特异性。无论在何处定义后者,都#content div.somediv将始终具有优先级div.somediv
t31os 2013年

1

边距样式块由_admin_bar_bump_cbwp_head操作上运行的函数输出。您可以通过以下方式删除该操作:

remove_action('wp_head', '_admin_bar_bump_cb');

我将其放置在入队脚本函数挂钩中,并成功删除了上边距输出,但我确定您可以将其放置在functions.php中的任何位置并使其正常工作。

这样,您就不需要在css =中进行愚蠢的覆盖了


0

您应该看到哪个类正在使用Firebug或类似工具添加边距。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.