2012-03-28 9 views
0

私は何らかのテキストを含む浮動スパンを持っています。
私はオーバーフローをhiddenに設定し、幅は100pxと言っています。
今テキストが長くなりすぎると、ただラップします。
高さを固定のpxに設定したくないのは、フォントサイズを変更した場合、高さなどを更新することを忘れるかもしれないからです。 アイデア?浮遊スパンのオーバーフローを防ぐために垂直高さを設定する方法は?

<span style="float:left;overflow:hidden;width:100px;">Very Long Text</Span> 
+0

高さを指定せずにこれを行うことができるかどうかはわかりません。 – Alex

+0

高さを指定するのに問題はありません。相対的な単位にしたいだけです。 ではなく1emです。それはラインのheigthで台無しにしたので – Karim

+0

thoに相対的ですか? – Alex

答えて

1

を待っ
はあなたのような何かをしようとする場合がありますように聞こえる:

CSS:

.floated-element { 
    float:left; /* Or right, whatever */ 
    width:100px; 
    white-space:no-wrap; /* Keeps the text to one line */ 
    text-overflow:ellipsis; /* This will add ... to the end of text that extends beyond 100px */ 
    overflow:hidden; 
} 

HTML:あなたが本当に使いたい場合は

<div class="floated-element"> 
    ... 
</div> 

<span>ではなく、<div>の浮動小数点を使用する場合は、スパンのdisplayをに設定する。これにより、他のインライン属性を維持しながらwidthを指定することができます。

+0

私はオーバーフローと思う:省略記号はオーバーフローする必要があります:隠され、テキストオーバーフロー:省略記号; 。私はそれを変更したときにFFで作業していることを意味します。 – Karim

+0

おっと!あなたが正しい。投稿を更新しました。 – Ryan

+0

「オーバーフロー:非表示」を追加する必要があります。あまりにも。 – Karim

0
  1. あなたは要素をインライン化するwidthを設定することはできません。
  2. ブロック要素の幅とoverflow:hiddenを宣言すると、要素が垂直方向に自動的に展開され、テキストが収まるようになります。

あなたが達成しようとしているものについてさらに詳しい情報があれば、さらに役立つ情報が得られます。

編集:

overflow:hiddenの最初のアイデアは、(多くの場合、一定の大きさに関連して使用)、過剰なコンテンツを非表示にすることです。あなたは何をしようとしているのか考え直すことができます(本当にオーバーフローする必要がありますか?)。

+0

申し訳ありませんが要素が浮かんでいます:)私は質問を更新します – Karim

+0

@カリムあなたは '高さ'を設定する必要はないので、要素は自動的に展開されます内容は – Christoph

+0

に収まります。この1行のテキストを表示して残りの部分をカットしたいだけですが、いくつかの行に表示されるように拡張しています。 – Karim

0

私の問題の解決策が見つかりました。
高さをいくつかの可変値に設定したくない場合(たとえば、line-heightの値が1.4emと言うように(時間とともに変化する可能性があるため、アプリケーションのすべての値を見つけて置き換える必要があります) 。
私が見つけた他の修正は、私が "white-space:nowrap;"を設定できることです。スパンで他の回答:)

+0

私はこれを考えていませんでした...:/ – Christoph

+0

問題なし。 これは実際にはstackoverflowを持つプラスの1つです。 私は実際にstackoverflowで質問を検索してアイデアを得た:) – Karim

関連する問題