テーマはデフォルトテーマでしょうか?
もし、デフォルトテーマでないなら、デフォルトテーマで確認してもらえますか?
Fumito MIZUNOさん
ご返信ありがとうございます。
デフォルトテーマで確認したところ、
確実ではないですが、たぶんもぐりこんでないと思われます。
自作のテーマですともぐりこんでいる、
という状況です。
これは、コードを書くなどで対応できるものでしょうか?
また、対応できるようでしたら、どのようにするのが
よいのでしょうか?
重ねた質問になってしまい、申し訳ありません。
wp_head(); 、wp_footer();の両方をそれぞれ
header.php、footer.phpで確認しました。
WordPress テーマの決め事
についてのリンクを確認しましたが、
軽くしか確認をしていないものの、
特に問題は無いようです。
黒いバーの下にコンテンツがもぐりこんでしまう原因が
全くわからないのですが、
cssなどで対応するような形になるのでしょうか?
通常ですとwp_head()の部分に自動的に管理バー分の余白が!important付のcssで記述さてれいてます。
ですがCSSのルールではimportantよりもクラスセレクタ・IDセレクタを使用した設定が優先されますので
ご使用中のテーマのCSSでhtmlにidやclass名を設定してmarginやpaddingを指定されていないか確認してください。
paruchanさん
ご返信ありがとうございます。
ご使用中のテーマというのは、一般的に用いるstyle.cssのことでしょうか?
style.cssではhtmlに指定を特にしているということはありませんでした。
ただ、ヘッダーにはmargin-topをかけていたので、
そこをはずしても安定してもぐりこんでしまっていました。
黒いバーにはもともとなにもしていないのですが、
対策は難しいでしょうか?
デフォルトのテーマで問題がないということですので
自作テーマに影響を与えてる部分があると思うのですが
実際にそのテーマを見ていないので原因の特定は難しいです。
対策は難しくないと思いますが原因が特定できないので対策できない状態ですね。
全部でなくても、サイトのhead内やbodyの最初のほうなど症状に関係有りそうな部分のソースを提示してくれたほうが
ここがおかしいとか、おかしいところは見当たらないと的確に指摘できますし、
解決策が分かる人が現れやすくなると思いますよ。
なので現在でている情報だけの憶測で原因を推測できるのが
先に書いたhtmlタグへのスタイル指定のほかに、
自作のテーマをご使用とのことなのでCSSの挙動についてはご存知だとおもうのでさっきはかきませんでしたがサイトのデザインでtop:0;left:0;position:fixedで固定している部分がありそうとか、
wp_head()の記述位置がおかしい、例えばheadタグの外に記述してるとかなど
ぼんやりとした部分までですね。
いくつか話を提供する形になってしまいますが、
デフォルトテーマでの場合でも、私の作成したテーマでも、
以下のコードを書いた場合は、サイトが黒いバーの下にもぐりこんでしまいました
※以下のコードでページ内リンクをした場合です
1
<h3 id=”no1″>1</h3>
上記の場合ですと、
1をクリックすると
<h3 id=”no1″>1</h3>の部分がもぐりこんでしまっていて
表示されていない、という状況です。
また、何度か確認をしたところ、
operaでmargin-topが効かないという状況によって
もぐりこんでしまっている状況が確認出来ました。
(こちらについては、デフォルトと自作の両方で確認しました。)
これはoperaの設定の問題なのかどうかよくわかりませんでした。
wp_head()の記述位置なども含め、
問題として考えられそうな部分が見つかりませんでした。
こちらも、ぼんやりとした回答になってしまいまして、
申し訳ありません。
デフォルトテーマでも同じ状況ということと、書き込んでくださった内容を踏まえますと
wordpress的にもCSS的にもいたって正常な挙動ですね。
operaが・・・とおしゃってますが、多分position:fixedが機能するブラウザであればIEだろうがChromeだろうが同じように潜り込むと思いますよ。
ログインしていない状態(管理バーが表示されていない状態)では問題ないのであまりきにしていなかったのですが、言われてみればページの一番上以外は確かに管理バーで隠れますね。
これをどうしても回避したいのであればいくつかの方法が考えられます。
1:管理バーをページの上部に完全に固定する。
style.cssにでも
#wpadminbar{
position:absolute;
}
と記載すれば、管理バーはついてこなくなるので下に潜ることはなくなります。
利用するのにページ上部にいちいち戻らなければならないですけどね。
2:管理バー以外の部分をdivで囲ってスクロールできるようにする
スタイルシートで本文全体にスクロールバーをつけることでフレームっぽくする方法です。
<body>の直後からwp_footer()の直前までをdivで囲います。
<div id=”body”>とでもしてください
そしてスタイルシートには
#body{
margin: 0;
position: fixed;
overflow: auto;
bottom: 0;
padding: 0;
top: 28px;
}
こんなかんじで設定してください。細部ちょっと調節しないといけないかもですが。
ログインしていない場合は意味がないので、ログイン状態によってdivタグの表示を振り分けたほうがいい気がします。
ほか、管理バーを下に設置するという方法もありそうですが、結構いじるの大変そうなので興味があれば調べてみてください。
(単純に下に移動するだけでしたらスタイルシートですぐですが、プルダウンメニューが表示できなかったりしたので・・・)