[CSS]コンテンツとサイドバーの高さを同じにするスタイルシート
Post on:2009年10月13日
サイドバーがコンテンツの高さと異なる際に、コンテンツと同じ高さのように見せるスタイルシートをwoork upから紹介します。
Really simple CSS trick for equal height columns
仕組みの概要は、コンテンツの右のボーダーを200pxにし、その上にサイドバーを表示して、サイドバーの高さをコンテンツと同じように見せるものです。
HTMLは、コンテンツとサイドバーのdiv要素を内包するdiv要素(wrapper)を配置します。
HTML
1 2 3 4 5 6 |
<textarea name="code" class="html" cols="60" rows="5"> <div id="wrapper"> <div id="maincontent">...</div> <div id="sidebar">...</div> </div> </textarea> |
CSSは、コンテンツとサイドバーにposition:absolute;を指定します。
コンテンツはborder-rightを200pxにし、サイドバーと同じカラーをしています。
サイドバーはコンテンツのボーダーと同じカラーの背景色にし、同じサイズにします。
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<textarea name="code" class="css" cols="60" rows="5"> #wrapper{ margin:0 auto; width:600px; } #maincontent{ border-right:solid 200px #DFDFDF; position:absolute; width:400px; } #sidebar{ background:#DFDFDF; margin-left:400px; position:absolute; width:200px; } </textarea> |
実装のイメージは、下記のようになります。
使用するには条件が限定されますが、手軽に実装できるのが強みです。
昔、borderを使ってIE用にmin-widthをしてたのを思い出しました。
sponsors