2013-07-24 19 views
11

私はjQuery UI MultiSelect Widgetを使って、選択したすべてのラベルをテキストに表示するようにしましたが、表示する要素が多すぎるとテキストが切り詰められ、省略されます。私はそれをやった:インライン要素を含む省略記号?

.ui-multiselect .selected-text { 
    display: block; 
    max-width: 190px; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
} 

私は、そのソリューションには好きではない唯一のものは、私は要素(スパン)にdisplay: blockを設定しなければならなかったということです。それがなければ、widthパラメーターは無視され、スパンはテキストサイズに拡大されました。

省略記号をインライン要素で使用することはできますか(displayblockは変更しないでください)?もしそうなら、それを達成する方法は?

答えて

10

状況のまさにこの種のために設計されたinlineblock間のハーフウェイの家、として働くdisplayオプションがあります...

それは

display:inline-block; 

と呼ばれていますblockの代わりにこれを使用しても、要素はコンテンツとしてそのままinlineのように流れますが、blockのようになりますその内容については、省略記号が機能するはずです。

+0

は動作しますが、下位レベルのブラウザではサポートされていません。今日はそれほど問題ではありませんが、それを正しくサポートするブラウザの現在のシェアはもっと高くなっています... http://caniuse.com/inline-block私はそれを使い始める時だと思っています:P – xandercoded

+0

@あなたはブラウザを考えていましたか?あなたはどこまで戻って行きたいですか? Firefox v3.0ではそれがサポートされています(FF2でも接頭辞付き)。 IEの世界では、IE6でも ''インラインブロック ''がサポートされています。 IE6/7にはバグがありますが、そこにはあります。 IE6/7をサポートする必要がある場合は、バグについて知っておくと良いですが、それを使用して停止するべきではありません。 – Spudley

+2

ところで、省略記号は "display:inline-block;"のみを示しています。指定された幅がある場合も同様です。私の問題は、「幅」または「最大幅」がないことでした。 – Tyler

関連する問題