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 件のコメント:
コメントを投稿