- ベストアンサー
ブログのレイアウトの崩れの原因と解決方法
- livedoorのブログのレイアウトをカスタムしている際に、本文にjavascriptタグを記入するとサイドバーの位置がズレる問題が発生しています。
- レイアウトは2カラムで、本文の位置や内容は正常に表示されますが、本文の真横にサイドバーが表示されず、最下部から表示されます。
- 試した解決策として、cssのwidthやpaddingの数値の調整、htmlの</div>の位置の確認などを行いましたが、問題は解決されませんでした。原因として、livedoorが提供するテンプレートへのカスタマイズによるDivタグの付け忘れや位置の誤りが考えられます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ブログを拝見させていただきました。 なるほどね で、色々見てみると、問題点は その(1) 閉じタグのエラーが見られます。 <font size="3" face="MS ゴシック"> <div style="~中略~"> 新着記事 </font></div> ↑ 閉じタグが逆になっています ↓ <ifarticlecoverimage> <a href="http://~" itemprop="url"><img src="http://livedoor.blogimg.jp/~.jpg" align="left" hspace="7" vspace="0" width=300 height=200 > </ifarticlecoverimage></a> それから、 <!-- // plugin-categorize --> <Div Align="left"><img src="http://livedoor.blogimg.jp/~.png" widht="180px" height="40px"></Div></a> ↑ 閉じタグの</a>が余っているので、削除。 ↓ <!-- // plugin-memo --> <Div Align="left"><img src="http://livedoor.blogimg.jp/~.png" widht="180px" height="40px"></Div></a> それと、<Div>と</Div>の「D」が大文字になっている。 質問者のブログは、html5なので、小文字にして下さい。 ↑ このようなケースが他のところもありますので、小文字にしましょう。 その(2) コメントアウトの「<!--」と「-->」がコードに別々に残っている。 <!-- /記事ヘッダー、記事タイトル --> <!-- 記事本文 --> <!-- <div class="article-body"> <div class="article-body-inner"> ↑ 「<!-- 記事本文 -->」の次行に「<!--」がある。 それと、 </div> </div> --> <!-- /記事本文 --> <!-- 記事フッター、カテゴリ、コメント、ソーシャルボタン --> ↑ 「<!-- /記事本文 -->」の前行に「-->」がある その2点を削除してください。 もう1つ、 <span class="calendarweek"><%= wdays[i] %><span> ↑ <span>が、閉じタグになってない。「/」を入力し忘れている。 その(3) <% ○○○ %>のようなコードがありますが、どこから拾ったのですか? 基本的にライブドアブログは、<% ○○○ %>を使いません。 <% ○○○ %>は、どのサーバー(アメブロやFC2ブログやYahoo!ブログなど以外)かは忘れたけど、サーバー側が<% ○○○ %>をhtmlコードに変換する仕組みで表示されます。ライブドアでは変換されず、そのままhtmlコードに表示されてしまいます(カレンダーなどは表示されてますが)。 ここでcssの話に移します。 「1 2 3 4 5...157 >>」のページ送りが右上にありますね。 それを正しい位置に戻しましょう。 .pager { clear: both; } 最後にサイドバーについてですが、htmlに入れる場所が違っているので、下に来ています。それが原因です。 まず、 <!-- サイドバー -->~<!-- /サイドバー -->までのコードを <!-- /記事全体 --> <div id="ad2"></div> </div> ↑ </div>の次行に移動して下さい。 これで直るはずです。 念のため、コードをメモ帳にコピーして保存するなど、バックアップして修正作業進めてください。
その他の回答 (1)
- amaryllis_watch
- ベストアンサー率57% (4/7)
問題のURL(質問者のブログURL)を掲示して下さい。 >>javascriptタグを記入するとサイドバーの位置がおかしな場所にズレてしまいます それを入れた場所も教えて下さい。 コメントアウトを入れてくれれはありがたい。 <!-- ここからjavascript --> <!-- javascriptはここまで --> ↑ みたいにコメントアウトしてね。
お礼
現在は不具合が無い以前のレイアウトを使用していますので、帰宅したら不具合の出た新レイアウトに変更し、こちらの補足欄より報告させていただきます。 (1時間程で帰宅すると思います。)
補足
http://music2.blog.jp/こちらが問題のURLになります。 本文に埋め込んであるスクリプトの前後にコメントアウトを入れてあります。(川崎工場夜景の記事 http://music2.blog.jp/archives/72085411.html の冒頭にあるスクリプトです。) 本来はトップページ(http://music2.blog.jp/)に記事のタイトルと記事最初の画像だけが表示されるはずが、スクリプトを入れた今の状態だと本文も丸々表示されてしまっている状態です。 個別記事で表示させた時はレイアウトの崩れは起きていないようです。
お礼
レイアウトが修復できましたのでお礼とご報告致します。 >その(1) 閉じタグのエラーが見られます~閉じタグが逆になっています htmlで修正。 >閉じタグの</a>が余っている・Divの小文字化 ブログパーツ部分のhtml入力でなぜか</a>だけが残っていました。 >コメントアウトの「<!--」と「-->」がコードに別々に残っている http://livedoor.blogimg.jp/youbass222/imgs/f/2/f2207dc1.png このようにしていました。 (この部分を削除した時点でレイアウトの不具合が解決しました! ) 実はレイアウトをカスタムする際、土台となるテンプレートの 「多分この部分は不要なんだけど、一応消さずに残しておこう。」と思っていた部分でして、 「<!--」と「-->」の間には何を書いても良いんだ!じゃあ挟んじゃえ。 という考えからこのような記述にしていましたが、不具合の原因だったんですね…。 (実は同じ考えでcssでも記述してしまっています。たまたま不具合が出ていないだけかもしれませんが) ~以下css~ /* 多分いらない部分 #wrapper { padding-top: 24px; } #container { border-radius:4px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); margin: 0 auto; width: 940px; } #content { border-radius: 0 0 4px 4px; position: relative; } #main { padding: 20px 00px; } ----------------------------------------------- */ > <span>が、閉じタグになってない。 これに関してはユーザーが編集出来るhtml内では見当たりませんでした。 ただ、カレンダーのブログパーツ(html記述ではなくライブドアサイトのワンボタンで表示、設置が出来るもの)を非表示にしたところ、問題があったページのソースを表示しても<span>の部分が無事無くなっていました。 なので今はカレンダーを非表示にしています。 > <% ○○○ %>のようなコード これに関してもユーザーが編集できる部分のcssやhtmlで<%や%>で検索しましたが見当たりませんでした。 既にレイアウトは直っていましたので、ひとまずは見送りという形にしました。 > 送りが右上・htmlに入れる場所が違っているので、下に来ています これもレイアウトが直った時点でメインカラムの下側、サイドバー位置それぞれ正しい位置に移動していましたのでcss、htmlは編集しませんでした。 ひとまずはこれで様子をみながら細かい部分の編集をしてみようと思います! それにしても奥が深いというか、パーツボタン1つ置くにしても難しいですね…