[解決済み] 長い単語でdivが壊れないようにするには?
質問
TABLE-layoutからDIV-layoutに変更してから、ある共通の問題が残っています。
問題点 : DIV を動的テキストで埋めると、必然的に超長い単語が div カラムの端からはみ出し、あなたのサイトをプロらしくないものにしてしまうことがあります。
レトロウィニング : この 決して は、テーブルレイアウトでは起こりませんでした。テーブル セルは常に、最も長い単語の幅まできれいに拡張されます。
重要度(SEVERITY : 特にドイツ語のサイトでは、"speed limit" のような一般的な単語でさえ非常に長い ("Geschwindigkeitsbegrenzung") のが見られます。
どなたか、これに対する実行可能な解決策をお持ちではないでしょうか。
どのように解決するのですか?
ソフトハイフン
ソフトハイフンを挿入することで、長い単語をどこで分割するかをブラウザに伝えることができます (
­
):
averyvery­longword
のように表示されるかもしれません。
エイブリーロングワード
または
エイブリー
長文
正規表現を使えば、必要なとき以外は挿入しないようにすることができます。
/([^\s-]{5})([^\s-]{5})/ → $1­$2
ブラウザと検索エンジンはテキストを検索するときにこの文字を無視するほど賢く、ChromeとFirefox(他は未検証)はテキストをクリップボードにコピーするときにこの文字を無視します。
<wbr>
要素
もう一つの選択肢は
<wbr>
を注入することです。
IEイズム
であったものが、現在では
になっています。
:
averyvery<wbr>longword
ハイフン無しで改行する。
<ブロッククオート
エイブリー
長文
ゼロ幅の空白文字で同じことが実現できる
​
(または
​
).
参考までに、次のようなものもあります。
CSS
hyphens: auto
最新の IE、Firefox、Safari でサポートされている (
に対応していますが、現在のところ Chrome には対応していません。
):
div.breaking {
hyphens: auto;
}
しかし、このハイフネーションはハイフネーション辞書に基づいており、長い単語を分割することが保証されているわけではありません。しかし、それは正当化されたテキストをより美しくすることができます。
レトロワイニングの解決策
<table>
をレイアウトに使うのは良くないですが
display:table
はダメですが、他の要素では大丈夫です。昔ながらのテーブルのように風変わりな(そして伸びやかな)ものになります。
div.breaking {
display: table-cell;
}
overflow
そして
white-space: pre-wrap
などの回答も良いですね。
関連
-
[CSSチュートリアル]z-indexの違い。cssのz-index: 0とz-index: autoの違い。
-
[Div+CSSチュートリアル】divの背景を透明にする設定例
-
[css3]スクロールバー美化効果を実現するcss3サンプルコード
-
[CSSチュートリアル】ピュアCSSで作るスクロールシャドウ効果
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] divの内容を下に揃える方法
-
[解決済み] divブロック内のテキストを(水平方向と垂直方向に)センタリングするにはどうすればよいですか?
-
[解決済み】あるdivの上に別のdivを重ねる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】検索ボックスの非表示機能を実現するCSS(アニメーションの順送り・逆戻りシーケンス)
-
[CSSチュートリアル]CSSは、メソッドのさまざまな記事の分割行のスタイルの要約を達成するために
-
[css3]CSS3のダイヤモンドパズルは、divの背景画像を回転させない機能だけを実現するために
-
[CSSチュートリアル】background-positionプロパティのパーセンテージ値の使い方を探る
-
[css3]スクロールバー美化効果を実現するcss3サンプルコード
-
[CSSチュートリアル】CSSプロパティ*-gradientの有用性を探る
-
[CSSチュートリアル】インタビュー必見!聖杯レイアウトとダブルウィングレイアウトの違いとは?
-
フロントエンドの落とし穴 リソースはスタイルシートとして解釈されるが、MIMEタイプはtext/htmlで転送される。"<URL>". css スタイルの失敗
-
[解決済み】空白のない長い文字列を強制的に折り返すにはどうしたらいいですか?
-
[解決済み】CSSで長い文字列を切り捨てる:まだ実現可能か?