2012-12-05 17 views
5

Ich habe ein Problem, wo ein Benutzer einen langen Kommentar/ein langes Wort wie "cooooooooooooooooooooooooooooooooooool" eingeben würde, würde dies die Formatierung auf der Seite brechen. HierSehr lange Wörter, die nicht in HTML/CSS eingebettet sind

ist ein Bild unten, um das Szenario zu erklären (nicht maßstäblich) und auch den Code verwendet:

enter image description here

Html:

<div class="comment-content"> 
    <p>cooooooooooooooooooooooooooooooooooooooool</p> 
    <br /> 
    <a class="delete-comment" data-delete-comment-id="28" href="/">Delete</a> 
</div> 

Css:

.comment-content 
{ 
    width: 525px; 
    margin: 13px 25px 0 0; 
} 
.comment-content p 
{ 
    width: 525px; 
} 

Ich frage mich, ob es eine schnelle Lösung dafür gibt, ohne zu viel Markup und CSS zu ändern, da dies Codebereich ist, den wir keine Fehler einführen möchten, indem Sie den Anwendungscode (in ASP.NET/MVC 3 geschrieben) ändern.

Wenn CSS/Html keine Option war Ich denke, die HTML 5 <wbr> Tag könnte verwendet werden, um das Wort nach "x" Anzahl der Zeichen zu trennen - das einzige Problem damit ist, dass die Website mehrsprachig in 9 Sprachen ist. Japanisch und Chinesisch zum Beispiel die Textzeichen sind wesentlich größer als englische Textzeichen, die mehrere bedingte Code für diese benötigen, um die Anzahl der Zeichen vor dem Hinzufügen der <wbr> erhalten oder die Schriftgröße verringert. Nur nach den Vorschlägen für die beste Lösung wirklich.

Vielen Dank

+0

versuchen, maxlength in Eingabe-Tag geben –

Antwort

6

Versuchen Sie, diese

.comment-content p { 
    word-wrap: break-word; 
} 

Live Demo

More Information

+0

Dies löste das Problem perfekt. Danke Kumpel! –

+0

Strings an beliebigen Stellen zu brechen ist kaum eine perfekte Lösung. Es verzerrt den Inhalt und verwandelt "foobar" in "foob ar" oder "foobar". Für jede echte Lösung müssen die Prinzipien der Verarbeitung des Textinhalts definiert werden. –

0

Dies kann helfen:

.class { 
    resize:none; 
} 
2

Wenn Sie es möchten schön wie gekappt werden: oooooo ... Verwendung:

.comment-content .p{ 
    display:inline-block; 
    white-space: nowrap; 
    overflow:hidden; 
    text-overflow: ellipsis; 
} 

Wenn es mehr als eine Zeile sind, verwenden

+0

habe ich eigentlich für deine erste Antwort und die Antwort, die Rohit gepostet hat, was für mich funktioniert hat. Danke für deinen Beitrag! –

Verwandte Themen