2012-12-11 9 views
13

Gibt es eine CSS-Eigenschaft, die eine der folgenden Möglichkeiten bietet? Aber zuerst, lass mich das erklären.Wie schränkt Zeichenbegrenzung durch Linie oder # von Zeichen mit CSS ein?

Stellen Sie sich ein Mauerwerk vor, bei dem jedes Element Breite hat: 200px; und jeder wäre Höhe: 250px; (Dies ist nur ein Beispiel).

In jedem Element gibt es ein Thumbnail und einen Link, und oft wird dieser Link zu 2-3 Zeilen umgebrochen, und daher die Höhe jedes Elements unterschiedlich.

Gibt es eine Möglichkeit, eine maximale Anzahl an Zeichen innerhalb einer Klasse zu setzen oder nach einer bestimmten Anzahl von Zeilen den Zeilenumbruch abzubrechen? Und vielleicht fügen Sie sogar einen CSS-Effekt hinzu, um Inhalte einzufügen: "..."; vor dem Zeilenende, um zu zeigen, dass es abgeschnitten wurde?

Jede Hilfe wird geschätzt.

Vielen Dank.

+4

'text-overflow: ellipsis' ist wahrscheinlich die closesest, was Sie brauchen . In älteren Browsern wird es jedoch nicht unterstützt. – Christoph

+0

Ah perfekt, Alter. Fummelei mit Leerraum, Text-Overflow: Ellipse und so, und es gab mir genau das, was ich wollte. Vielen Dank. – popsicle

+0

hehe, ich war gerade ein Beispiel Geige für Sie erstellen, dann ich sah Ihr Kommentar;) Du hast meine Antwort nicht annehmen können, wenn Ihr Problem damit gelöst ist. fröhliche Codierung. Prost – Christoph

Antwort

25

Sie können text-overflow versuchen, aber es hat einige Einschränkungen, aber immer noch könnte Hotel Sie:

Example

<div id="container"> 
    This is some short content to demonstrate the css-property 
    text-overflow 
</div>​ 

#container{ 
    width:100px; 
    height:50px; 
    border:1px solid red; 
    overflow:hidden; 
    text-overflow:ellipsis; 
    white-space: nowrap; 
}​ 
9

Keine Zeichen, aber Sie können die Breite eines Elements in Pixeln festlegen und die Eigenschaft text-overflow verwenden, die "..." hinzufügen soll.

Sie können auch die Anzahl der Zeilen begrenzen, indem Sie die Höhe eines Elements beispielsweise auf 30px setzen und die CSS-Eigenschaft line-height auf 15px setzen und overflow:hidden hinzufügen. Auf diese Weise haben Sie genau zwei Textzeilen.

.twoLines{ 
    height:30px; 
    line-height:15px; 
    overflow:hidden; 
}