2009年3月28日土曜日13:34:00
preタグのテスト
/// <summary>
/// key が押されたら実行。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PaintForm_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
saveImageFile(@"test.png");
}
else if (e.KeyCode == Keys.Space)
{
ReplayForm_Show();
}
}
前にpreタグをつかったとき、表示がばぐったのは、<や>をエンコードし忘れてたからみたい。これでプログラムも載せれるようになったはず。長い行がある場合、IE7、safari、Google Chromeだと、スクロールバーがでてこないで、折り返しがおこるみたいだけど、まあいいか。Opera、FireFoxはスクロールバーが表示される。
CSSを用いて、長い行に対してスクロールバーではなく、折り返しを行わせることもできるみたい。半角が入ってないと、折り返しが行われないみたいだから、今回はやめておこう。
今回、CSSでpreに指定したスタイル。一部、機能がよくわからないけど、コピペコピペ。
pre {
font-family:monospace;/* 等幅フォント */
border:1px solid white;
background-color:black;
line-height: 120%;
margin: 2em 1em;
padding: 0.5em 1em;
width: auto;
_width: 90%;
overflow: auto;
_overflow: scroll;
}
追記
word-wrap:normal;
上のコードを入れることで、IEやSafariなどのブラウザでも、長い行に対して、折り返しではなく、スクロールバーが表示できるようになった。Mac版のウェブブラウザでは未確認。
参考サイト
- HTMLエンコードフォーム kawama.jp
- pre要素へのスタイル指定 hail2u.net
- [ CSS ] pre でも改行を生かしたまま折り返す Bowz::Notebook
- word-wrap・・・単語の途中で改行するかどうかを指定する(IEがCSS3の草案を先行採用) HTMLクイックリファレンス

0 件のコメント:
コメントを投稿