htmlで指定した幅で折り返すには
ゲスト
ゲスト
ATOMRSS
  • コード求むID: 229
  • 登録日時:  2008/01/31 23:53
  • 最終更新日時: 2008/02/06 00:44
  • アクセス数: 1661
  • タグ:  css html 改行
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加

皆さんはじめまして。
htmlの改行方法について教えていただきたいことがあります。

下記のソースはテーブルを二つに分けています。
上にあるテーブルはスクロールさせず、下のテーブルをスクロール可能にし、エクセルで言えばウィンドウ枠の固定のような動作を実現したいと考えています。

しかし下記のように「!!!!!!」等と半角の記号を連続で記述すると、word-breakオプションを指定しているのも関わらず折り返してくれません。

指定した幅で自動で折り返すにはどのようにすればよいでしょうか?


----------------------------------
<html>
<head>テスト</head>
<body>
<div style="height:46px; width='500px'; overflow:hidden">
<table width='500px' border='1'>
    <tr>
        <td width='20%'>テスト1</td>
        <td width='40%'>テスト2</td>
        <td width='10%'>テスト3</td>
        <td width='10%'>テスト4</td>
        <td width='20%'>テスト5</td>
    </tr>
</table>
</div>
<div style="height:80px; width='520px'; overflow:auto">
<table width='500px' border='1'>
    <tr>
        <td width='20%'>テスト1</td>
        <td width='40%'>テスト2</td>
        <td width='10%'>テスト3</td>
        <td width='10%'>テスト4</td>
        <td width='20%'>テスト5</td>
    </tr>
    <tr>
        <td style="word-break: break-all;">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</td>
        <td>テスト2</td>
        <td>テスト3</td>
        <td>テスト4</td>
        <td>テスト5</td>
    </tr>
    <tr>
        <td>テスト1</td>
        <td>テスト2</td>
        <td>テスト3</td>
        <td>テスト4</td>
        <td>テスト5</td>
    </tr>
</table>
</div>
</body>
</html>
----------------------------------

コメント

実際に上のソースを試したわけではありませんが、
ゲストさんがこのソースを表示させたのはどのブラウザですか?

word-breakオプションはIE独自のオプションのようです。
http://www.htmq.com/style/word-break.shtml


解決策は思いつきませんが…。
途中でbrを入れるにしても、ブラウザ側でフォントサイズを
変更されるとレイアウトが崩れますしね(´Д⊂

  • GoodJob
  • 0

あまりにも酷い回答ではあるのですが、一応自動改行させる方法として・・・
誰か良い回答を知っていたらコメントお願いします。

<style TYPE="text/css">
<!--
TD.fixWidth span white-space: nowrap; }
-->
</style>

と定義した上で
<td class="fixWidth"><span>!</span><span>!</span><span>!</span><span>!</span>(中略)<span>!</span><span>!</span><span>!</span></td> 

なんとも酷いソースだ・・・

  • GoodJob
  • 0

  • mmike
  • 3:mmike
  • 2008/02/01 16:32

sheileさんのコードを踏まえて
少しでもきれいにという程度のアイディアですが、

各[td]セルにIDを割り振ってしまって、
td.innerHTML(ID独自)からtdの文字列を取得して
1文字ずつ<span>で囲むようにJavaScriptで入れてみたりとか、
すると多少は見栄えはいいかも・・・?
※onload付近にでも、、、

sheileさんと同様私もこれが良いものだと思えませんけどね。。。

  • GoodJob
  • 0

  • ゲスト
  • 4:ゲスト
  • 2008/02/03 03:59

そういう変なワードを入れる場合は、
明示的に<WBR>を入れてあげるべきかな・

  • GoodJob
  • 0

同じような質問が、教えて!gooにも投稿されているようですね。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1352769

途中に半角スペースを入れてもいいなら、ある程度の間隔で
適宜入れていくとかどうですか?

  • GoodJob
  • 0

前へ 1 次へ

コメントする

[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。

[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。

ゲスト投稿者:ゲスト:

関連ソースコード・ノウハウを登録

PDFLib | A library for processing PDF on the fly プレゼン公開・共有サイト handsOut.jp オープンタイプ株式会社 チーム・マイナス6% - みんなで止めよう温暖化

ブックマークコメント