• 締切済み

コンテンツの高さに合わせた縦線を引きたい

コンテンツ部分の高さに合わせた縦線を引きたいのですが、どうも上手く実現する 方法が思い浮かびません。 コンテンツは表示するページによって高さが異なります。 CSSを利用することは何ら問題ありませんが、JavaScriptでwindow.load()イベントなどで 記述するのはちょっと避けたいです。 あくまでレイアウトということで・・・。 今縦線はこんな感じで作られてます。 #splitter {width:0px; height:485px;   border:solid 2px #e5ecf9;overflow:hidden;   border-top:none; border-bottom:none;   background:#e5ecf9; float:left;   margin-right:10px} <div id="splitter"></div> divだと無理なんでしょうか・・・? ご教示下さい。

みんなの回答

noname#119957
noname#119957
回答No.2

残念ながら、レイアウト自体が、想像できません。 ** 普通、伸縮させたいdivの中に伸縮するコンテンツが入っていないと伸縮はしないと思います。 <div id="a">   <div id="b"></div> </div> bに伸縮する縦線を記述すると、bの中身が縦に伸びたときにはbも伸びて同時にaも伸びる。 <div id="a">   <div id="b"></div>   <div id="c"></div>   <div id="d"></div> </div> bとcがfloatのばあい、dがclear:bothならaも中身に従って伸びます。 cssで静的に表現できる線ってこの程度のものだと思います。 なお、floatさせたものにmarginを指定するとIE6では倍の幅になりますのでpaddingに置き換えておいた方がいいです。

naktak
質問者

お礼

中が伸びると外も自動で伸びるというのは分かるのですが、 やっぱり独立したものをいい感じのやり方で自動で伸びる ようになってなってくれないようですね。 ちょっと、諦めて別な方法で対応します。 IE6は、、、もうIE8も出てるので、無視します^^ 3世代も昔のブラウザまでいちいち対応するのは面倒なので。

回答No.1

javascriptを使わずCSSで多分一番てっとりばやいのは、 高さの変わるというコンテンツ部分の要素の背景に 背景画像として引きたい線の画像をrepeat-y指定することだと思います。 上記ソースでは2px四方の画像になりますね。

naktak
質問者

補足

実は縦線にJavaScriptが組み込まれていて、縦線をクリックすると 左にあるメニュー部分を非表示にするという動作を行います。 やっぱり縦線の大きさもJavaScriptでページ読み込み時に変えて あげないとダメですかね・・・。 それかページ単位にコンテンツの高さが確定したらその高さと 同じほどで設定してあげるとかでしょうか・・・。

関連するQ&A