2016-07-12 4 views
0

Dies ist die Wirkung Ich versuche zu erreichen:Wie man die Größe von div an die besten Inhalte anpasst, wie bei Facebook Chat?

enter image description here

Dies ist eine Facebook-Chat-Nachricht, bemerken, wie die Breite des Elements genau um ihre Textinhalte beruhen.

Wenn ich ändern Sie den Text, den ich innen schreiben, die Größe der <div> Änderungen:

enter image description here

Ich versuche, das gleiche mit dem folgenden Layout zu tun:

<div>Test message that goes ontothenextline</div> 

Und CSS:

div { 
    max-width: 190px; 
    // other arbitrary styles 
} 

Aber das ist wh Ich bekomme (als ein grundlegendes Beispiel): https://jsfiddle.net/dr76t4t7/

Wie kann ich die <div> besser den Inhalt des Textes innerhalb machen?

Antwort

1

Sie vermissen die display: inline-block und die Polsterung.

.speech-bubble { 
    display: inline-block; 
    max-width: 190px; 
    background-color: #e1edff; 
    border: 1px solid #bdc7d6; 
    color: #4f5359; 
    text-shadow: 1px 1px 0 #fff; 
    padding: 8px 12px; 
    box-sizing: border-box; 
    border-radius: 15px 0 15px 15px; 
} 

https://jsfiddle.net/q35qmkgx/3/

+0

Hmm Versuchen Sie, ich bin nicht ganz sicher, dass der Trick tut. Ich habe den Text in Ihrem JSFiddle ein wenig geändert, und es wurde so: https://jsfiddle.net/think123/q35qmkgx/4/ – think123

+0

Ich habe gerade die Quelle von Facebook überprüft und es scheint, dass sie JavaScript verwenden, um diesen Effekt abzuziehen , bei der das Element so skaliert wird, dass es optimal in den Inhalt passt. – think123

0

dieses https://jsfiddle.net/q35qmkgx/7/

div { 
    background-color: blue; 
    color: white; 
    display:inline-block; 
    max-width:190px; 
    padding:5px; 
    word-break:break-all; 
} 
+0

Realisiert es funktioniert nicht für kurze Sätze, falsche Antwort –

Verwandte Themen