• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ツリーメニューの画像表示について)

ツリーメニューの画像表示について

このQ&Aのポイント
  • ツリーメニューの画像をクリックすると階層が開き、階層が閉じる仕様です。
  • 現在のレイアウトでは画像がリンクの上に表示されてしまい、文字の横に表示させることができません。
  • cssでwidthを設定してしまうとこのような現象になってしまいますが、レイアウト上widthの指定ははずせないものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

>>> 文字の横に表示させることができません。 この部分についてのことですが、 <div style='position: fixed; top: 16px; left: 5px;'><img src='hide.gif'></div> はブロック要素なので改行されます。 preobj.innerHTML = "<div style='position: fixed; top: 16px; left: 5px;'><img src='hide.gif'>" + preobj.innerHTML + "</div>"; または preobj.innerHTML = "<span style='position: fixed; top: 16px; left: 5px;'><img src='hide.gif'>" + preobj.innerHTML + "</span>"; として見てはどうでしょうか。

noname#65793
質問者

お礼

何度もすみません。 引き続き試してみたところ無事に思うような形にすることができました! しかし後から気づいたのですが問題が発生です・・・ 階層を閉じている状態で+の画像で開いている状態だと-の画像に 切り替わるものだったのですが閉じても開いても+の画像のまま 表示されてしまいます。 preobj.innerHTML = "<div class='jsimg' onmouseover='onColor(this)' onmouseout='outColor(this)'><img src='hide.gif'>" + preobj.innerHTML + "</div>"; とやるとこのような現象になり preobj.innerHTML = "<img src='hide.gif'>" + preobj.innerHTML とやると正常に画像が切り替えされます。

noname#65793
質問者

補足

早速のお返事ありがとうございます。微妙にカテ違いだったかなと 心配しておりました。 早速ですがjsファイルを変更してみたのですが変わりませんでした。 質問後も試行錯誤しておりcssの問題なのかと思い変更してみましたが 現状変わらずです・・・ ---css--- #g_nav { width: 160px; margin: 0; padding: 0; background: #396; } #g_nav ul.sub_b { width: 160px; margin: 0; padding: 0; background: #fff; } #g_nav li.sub { list-style: none; margin: 0; border-bottom: solid 1px #999; } .sub_t { padding: 0 0 0 10px; border-bottom: solid 1px #fff; } #g_nav li.sub_t a { display: block;//ここを外すと横並びにはなるのですがdisplayblockを指定したいです。 height: 25px; font-size: 12px; color: #fff; font-weight: bold; padding: 6px 0 5px 10px; text-decoration: none; background: #396; } #g_nav li.sub a { display: block; height: 25px; font-size: 12px; color: #555; font-weight: bold; padding: 6px 0 5px 10px; text-decoration: none; background: #fff; } #g_nav li.sub_t a:hover, #g_nav li sub a:hover { background: #3c6; } ---html--- <div id="g_nav"> <ul> <li class="sub_t"><a href="">大メニュー1</a></li> <li> <ul class="sub_b"> <li class="sub"><a href="">小メニュー1</a></li> <li class="sub"><a href="">小メニュー2</a></li> </ul> </li> </ul> </div>

関連するQ&A