ソースの表示方法
Nucleusアイテム投稿時にサンプルとして何らかのソースコードを表示させるために<pre>タグを単純に利用してました。
いろいろ問題があって、最終的には以下の感じでOKということにしています。
HTMソースコード例
<div class='source'>
<pre>
<code>
表示させたいソース
</code>
</pre>
</div>
CSSソースコード例
pre
{
font-size: 11px;
margin: 0px 0px 20px 0px;
padding: 20px 10px 10px 10px;
}
.source
{
margin: 0px;
padding: 0px 0px 0px 0px;
text-align:left;
width: 440px;
overflow: auto;
overflow-y: hidden;
border: 1px solid #999999;
background-color: #f0f0f0;
}
最初は単純に
pre
{
overflow: auto;
}
とやってました。 が、以下の問題がありました。
- widthを指定しないとIEでうまく表示できない。
- MacIEではwidth指定を行うと表示できない。
- overflow-y: hidden;指定がないとIE6では必ず縦スクロールバーが表示される
回避策として
- preにはwidth指定を行わずdivに記述して囲む
- overflow-y: hidden;指定で明示的に縦スクロールバーを消す
- height指定は行わない
といった感じにすることで横スクロールバーのみ自動表示になります。
当サイトではこの方法でソース表示しています。
