wp_head()がテーマヘッダーの上部に上部マージンを作成するのはなぜですか?


8

カスタムテーマを作成しています。要素は正常に動作しますが、<?php wp_head() ?>タグを配置すると、テーマヘッダーの上部に上部マージンが表示されます。

<?php wp_head(); ?>マージンを取り除くとマージンがなくなります。私はしばらくこの場所にいますが、どんな助けでも素晴らしいでしょう。


1
wp_headにフックする何かが、htmlが出力される前にスペースを出力していますか?
ミロ

回答:


10

見なければ見づらいですが、知識に基づいた推測です。

おそらくそれは、管理者バーのCSSであり、ログインしたときにのみ表示されます。これ<?php wp_head() ?>には、CSSが含ま<?php wp_footer(); ?>れ、管理バーのHTMLが含まれます。

あなたが見れば、それは実際にはhtmlタグに追加されたマージントップであるべきです。


同意し、この問題を数回見た
MartinJJ

1
ええ、私はいくつかの人々を助け、これを見ました。最大の問題は、テンプレートにwp_footer()を含めないことです
Ryan Gibbons

OPに-私はあなたがこの答えを受け入れるべきだと思います。
Greeso 2015

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"を追加しても実際には機能しますが、ヘッダー情報を再配置してcssファイルを呼び出した後で、wp_headが呼び出された場合のみです。

最も低い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または同様のツールを使用して、どのクラスがマージンを追加しているかを確認する必要があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.