2013-10-28 24 views
6

Gibt es eine Möglichkeit, CSS zu verwenden, um ein Wort nach dem anderen auszublenden (statt eines Buchstabens), wenn ein Element nicht breit genug ist, um seinen Textinhalt anzuzeigen?Ein Wort mit Überlauf ausblenden: Versteckt

Zum Beispiel mit dem folgenden Code, wenn die Browser-Fenster klein werden den ganzen Satz zu zeigen, ich will es Lorem ipsum dolor sit... zeigen, statt Lorem ipsum dolor sit ame...

HTML:

<div>Lorem ipsum dolor sit amet</div> 

CSS:

div { overflow:hidden; text-overflow:ellipsis; white-space-nowrap; } 

(ich brauche keine alten Browsern zu unterstützen)

+1

Ich habe einige der Forschung getan und es scheint nicht möglich. :(Ich würde gerne wissen, ob es möglich ist, obwohl! – sheng

+1

Dies würde mit Javascript arbeiten – Markasoftware

+0

@Markasoftware, habe ich über eine Möglichkeit, es mit Javascript zu denken, nur gefragt, ob ein CSS-Ansatz möglich ist. – Vaughan

Antwort

2

Sie könnten Ihren Container immer so einstellen, dass er die gleiche Höhe wie eine einzelne Textzeile hat, und nur den Text ausblenden, der unter dieser Zeile liegt, indem Sie overflow: hidden verwenden.

http://jsfiddle.net/Wexcode/fbhxL/

p.short { 
    height: 18px; 
    overflow: hidden; } 
p.ellipsis { 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; } 
+0

Danke Wex Dieser Ansatz hält das "..." nicht von meinem Beispiel ab, aber es beantwortet meine Frage. Ich werde das akzeptieren, wenn niemand eine Lösung anbieten kann, die die Punkte hält. – Vaughan

+0

Ja, es ist schade, dass du es nicht kannst Ketten-Pseudo-Selektoren oder Sie könnten wahrscheinlich so etwas wie 'p :: first-line :: after 'machen – Wex

Verwandte Themen