

エクセルのセルの書式の中にある「縮小して全体を表示する」の様な
ことをしたいのです。
具体的にはtableの固定幅セルのfont-sizeを、文字数に応じて自動的に
設定して、セル内で折り返しが発生しないようにしたい。
といっても、そんなに厳密でなくてもいいので、
「文字数が○文字未満ならfont-size:normal、以上ならsmall」
程度でいいんですが、これをCSSのみかCSS+JavaScriptで
実現できないものでしょうか。
文字数に応じて<td>のclassを変えればいいのでしょうが、
できれば、テキストの修正をすれば自動的に変わる様にしたいです。
No.1ベストアンサー
- 回答日時:
完全な回答ではありませんが、
はみ出る部分を省略表示(・・・という表示)にする案ではダメでしょうか?
そこにマウスをあてると、全内容が表示する仕組みです。
以下に参考ページあります。
http://www.salty1.com/rakuraku/241.html
「…」ではなぁ・・・
と思ったのですが、そのページのソースを見て、
CSSではfont-size:normalにしておいて、JavaScriptでtableを舐めて
一定の文字数以上のセルにだけfont-size:smallを上書きする。
という方法に気付きました。
ただ、まだ試してませんが、これだと一旦全部normalでレンダリング
されてからsmallになるので、画面がバタつくかなぁとも思います。
他に何か案があれば、よろしくお願いします。
No.3
- 回答日時:
あれから調べても見たのですが、やはりありませんでした。
唯一、ページ自体をサーバー側で作成する。
たとえば、別のディレクトリに存在するHTL(これは通常どおりアップロード)をtest.html(実態はCGI)で読み込んで、特定のtableないの<td>内の文字数を数えて・・・(もちろん、別の用途のもの)
事前の策として、というかベストな方法としてはtableのmin-widthで指定して、各セルの幅は内容にしたがって割り振れるようにした上で、少し小さめなfont-sizeで作っておくということ。
[配置指定の継承]( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )に完全に適合します。
通常でtable内で折り返さない程度の文字サイズに少し余裕を見てtableを作成してしまえば、文字数が増えたらそのセルを含む列が拡大する。ウィンドウ幅を超えるようなら折り返される。
フォントサイズは、ユーザー依存・・・これがベスト
No.2
- 回答日時:
「文字数に応じて自動的に設定して、セル内で折り返しが発生しないようにしたい。
」はっきり申し上げて、作者側で強制する問題ではありません。
HTMLは本来、さまざまな端末でも利用できるように考案された方式です。
【引用】____________ここから
HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで
[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
視覚障害者はフォントサイズを大きくしてみようとするかもしれませんし、黒白のコントラストの大きい表示を選択するかもしれません。
たとえばfirefoxだと、Ctrl++
そのために、table(--表をあらわすものでデザインのためのものでしない。)は内容に応じて自在に伸張することが求められています。また、ウィンドウをはみ出さないために、セル内の文字は必要に応じて折り返されることを期待しています。
【引用】____________ここから
非視覚系メディアでのレンダリングに際して問題を起こすことがあるため、単に文書内容を整形する目的だけで表を用いるべきでない。 さらに、見た目のために表が用いられると、その表が大きなディスプレイのあるシステムで作られた場合、表を見るために水平スクロールを強いられることがある。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで
[Tables in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
>これをCSSのみかCSS+JavaScriptで実現できないものでしょうか。
異常の理由もあってないと思います。(未確認)
もしそれをするなら、動的にサーバーサイトでHTMLを作成すればよい。たとえばXMLでデータを持ってておいて、XSLTで文字数を数えれば楽
<xsl:value-of select="string-length(.)"/ >
この回答への補足
質問にも書いたように「厳密でなくてもいい」んですって。
当然、UA側でフォントを大きくすれば折り返しは発生します。
ただ、標準状態(デフォルト)のフォントでは折り返しがなさそうな
フォントサイズが自動的に設定されればと思ってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アンドロイドスマホでのphp echoの文字サイズ 1 2023/05/13 15:15
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
VBAについて
-
QRコード作成マクロについて
-
rangeに変数代入でエラー
-
下記のマクロの説明(意味)を...
-
エクセルのセル情報(名前、WEB...
-
CellEnterイベント仕様について
-
【エクセルVBA】FindNextで検索...
-
飛び地セルの空白判定
-
Excelで空白セル直前のセルデー...
-
【VBA】【ユーザーフォーム_Lis...
-
セルの半透明着色処理
-
VBA にて、条件付き書式で背景...
-
データグリッドビューの結合セ...
-
エクセル、マクロで番号を読込...
-
VB DataGridViewについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
複数指定セルの可視セルのみを...
-
C# DataGridViewで複数選択した...
-
【Excel VBA】マクロで書き込ん...
-
データグリッドビューの結合セ...
-
DataGridViewのフォーカス遷移...
-
Excel 範囲指定スクショについ...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
【VBA】写真の貼り付けコードが...
-
QRコード作成マクロについて
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
エクセル、マクロで番号を読込...
おすすめ情報