2011-09-25 8 views
91

私は次のCSSスタイルでdivを持っています:CSSのオーバーフロー - 1行のテキストのみ

width:335px; float:left; overflow:hidden; padding-left:5px; 

divに長いテキスト行を挿入すると、新しい行に改行され、すべてのテキストが表示されます。私が欲しいのは、改行しないテキスト行を1行だけ持つことです。テキストが長い場合、このオーバーフローするテキストが消えてしまいます。

高さを設定することを考えていましたが、間違っているようです。

多分フォントと同じ高さを追加すると、それはうまくいくはずですし、別のブラウザで問題を起こさないでしょうか?

どうすればいいですか?

+0

[jsFiddle](http://jsfiddle.net/)で問題を実証できますか? –

答えて

242

1行に制限する場合は、divにwhite-space: nowrap;を使用します。

+0

はすばらしい、ありがとう! –

+0

あなたは左の矢印をクリックして彼の答えを受け入れるべきです。 – DanMan

+0

素晴らしい、ありがとう! –

-8
line-height:335px; 

あなたはこれを試すことができます...

+5

...これはどのように役立ちますか? – Archonic

59

あなたがそのdiv要素で利用可能な多くのコンテンツがまだあるということを示したい場合、あなたはおそらく「省略記号」を表示することがあります。

text-overflow: ellipsis; 

これはSeptnuitsによって提案されたwhite-space: nowrap;に加えてあるはずです。

また、Firefoxでこれを処理するにはthis threadをチェックアウトしてください。

+35

私はあなたが 'overflow:hidden;'と 'white-space:nowrap;'を使って 'text-overflow:ellipsis;'を使って動作させると信じています。 –

+0

http://caniuse.com/#feat=text-overflow aka 。はい、できます。 title属性にコンテンツ全体を入れることを考えてください。そうすれば、ユーザーは引き続きアクセスできます。 – DanMan

+0

鉱山は1行に表示され、省略記号を表示する前にDIVに値を設定しません... http://stackoverflow.com/questions/26342411/how-to-display-an-image-next-to-some-texts (http://jsfiddle.net/ofrj55j4/20/) – SearchForKnowledge

0

私は同じ問題を持っていたし、私が使用して、それを解決:

display: inline-block; 

divに質問して。

8

あなたはこのCSSコードを使用することができます

text-overflow: ellipsis; 
overflow: hidden; 
white-space: nowrap; 

をCSSでテキストオーバーフロープロパティは、要素のボックスをオーバーフローしたときにテキストが切り取られている状況を扱っています。 がクリップされた(つまり、切り捨てられ、隠されている)、省略記号( '...'、Unicode範囲値U + 2026)を表示することができます。

注コンテナのoverflowプロパティがある場合テキストオーバーフローのみ発生し、その値隠さスクロールまたは自動ホワイトスペース:nowrap属性を。。要素がオーバーフロー-EDを可能にするために幅を持っている必要があるため

テキストオーバーフローのみ、ブロックまたはインラインブロックレベル要素で発生することができます。オーバーフローはdirectionプロパティまたは関連する属性によって決定される方向に発生します。

+0

省略記号!それが何をしているのか、なぜそれがクールだと説明するのが素敵でしょう... – benzkji

関連する問題