2011-09-30 15 views
13

divでオーバーフローを隠す方法はありますか?div要素で長すぎるテキストを非表示にする方法はありますか?

テキストが長いのdiv

<div style="width:50px; border:1px solid black; overflow-y:hidden"> 
    test test test test 
</div> 
+0

'オーバーフロー:

は、以下このHTML考えてみましょう; - ':なしオーバーフロー' –

+3

@JohnnyCraigをのようなものはありません。私の間違いだが、それは起こるが、何もないことを人々に伝えるのではなく、そこにあるものも含めるべきである。オーバーフロー:hidden; ' – Rob

+3

感謝を奪うなし' –

答えて

0

オーバーフローしてみてくださいよりであればここでは、テキストだけの新しい行にダウンラップ:なし。

スクロールバーを使用するかどうかについては言及していません。

EDIT:隠された:私はオーバーフローを意味

申し訳ありません。

+0

' overflow'プロパティには 'none'という値はありません。 [CSS2仕様](http://www.w3.org/TR/CSS2/visufx.html#propdef-overflow)を参照してください。 – kapa

+0

彼はすでにY軸に '隠された'を使用しています。 – kapa

10

divにheightを指定する必要があります。overflow: hidden;は、何らかの種類の高さが定義されている場合、垂直方向にオーバーフローするコンテンツのみを非表示にすることができます。言い換えれば


ここにテキストが長いのdiv

を超える場合、テキストだけの新しい行にダウンラップしかし、それはどのくらいです実際にdiv?


この違いを示すmy jsFiddle demonstrationをご覧ください。

+0

高さを指定しても、テキストはまだ新しい行に折り返されますが、オーバーフローがあります - あり – clarkk

+0

@clarkk次に正確に何を達成しようとしていますか? – kapa

18

固定幅のdivに1行のテキストだけを表示する場合は、white-space:nowrapを入力してください。 overflow:hiddenと一緒にすると、ブラウザが行を壊さずに強制的な幅に表示されます。

また、単語と文字を半分にするのを避けるためにtext-overflow:ellipsisを追加することもできます。最後に...という文字列が追加されています。私はブラウザのサポートについては確信していませんが、私はこれを試したことはありません。

+2

Firefox 7がちょうど出てきました。それは 'text-overflow'をサポートする最初のFirefoxです。他のブラウザもそれをサポートしています(古いIEも)。 [text-overflow on caniuse.com](http://caniuse.com/#search=text-overflow)を参照してください。そして+1。 – kapa

8

CSSプロパティtext-overflow: ellipsisは、おそらくこの問題を解決するのに役立ちます。

<div id="truncateLongTexts"> 
    test test test test 
</div> 

#truncateLongTexts { 
    width: 100px; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis // This is where the magic happens 
} 
関連する問題