聊天界面溢出的文本 - CSS

时间:2017-02-15 05:24:18

标签: html css

我到处搜索,但几乎没有人考虑到这一点。我有一个聊天界面,它是一个div元素,在其中是一个ul,然后在里面是包含p元素的li。





html:

&#xA ;



&# xA;


  .chatRight {
&# XA; background-color:lightgrey;
 font-size:30px;
填充:5px;
 border-radius:6px;
最大宽度:50%;
自动换行:break-word;
 text-align:right;
 margin-left:auto;
 display:table;
}
 .chatLeft {
 background-color:aqua;
 font-size:40px;
填充:5px;
 border-radius:6px;
最大宽度:60%;
自动换行:break-word;
}
 .chatBoxRight {
 text-align:right;
自动换行:break-word;
}
 .chatBoxLeft {
 text-align:left;
自动换行:break-word;
}
 #chatList {
 width:calc(100% -  80px);
 list-style-type:none;
 max-width:calc(100% -  80px);
}
 #chatList li {
 margin-top:5px;
 margin-bottom:5px;
}  


 < code>&lt; div id =“chatContainer”&gt;&#xD;&#xA; &lt; ul id =“chatList”&gt;&#xD;&#xA; &lt; li class =“chatBoxLeft”&gt;&#xD;&#xA; &lt; p class =“chatLeft”&gt;你好!&lt; / p&gt;&#xD;&#xA; &LT; /立GT;&#的xD;&#XA; &lt; li class =“chatBoxRight”&gt;&#xD;&#xA; &lt; p class =“chatRight”&gt;美好的一天&lt; / p&gt;&#xD;&#xA; &LT; /立GT;&#的xD;&#XA; &lt; li class =“chatBoxLeft”&gt;&#xD;&#xA; &lt; p class =“chatLeft”&gt;你好。&lt; / p&gt;&#xD;&#xA; &LT; /立GT;&#的xD;&#XA; &lt; li class =“chatBoxRight”&gt;&#xD;&#xA; &LT,P类= “chatRight” &GT; hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaa&LT; / P&GT;&#的xD;&#XA; &LT; /立GT;&#的xD;&#XA; &lt; li class =“chatBoxRight”&gt;&#xD;&#xA; &LT,P类= “chatRight” &GT; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&LT; / P&GT;&#的xD;&#XA; &LT; /立GT;&#的xD;&#XA; &LT; / UL&GT;&#的xD;&#XA;&LT; / DIV&GT;  
&#的xD;&#XA;
&#的xD;&#XA;
&#xD;&#xA;

&#xA;&#xA;

现在问题是溢出,一切看起来都很好而且是blobby,除了aaa ......,因为它使圆形p溢出。这不仅仅是这个,但最大宽度似乎也不适用于案例。

&#xA;&#xA;

(为了演示我只是将display:table添加到了右边的p元素。

&#xA;&#xA;

提前致谢。

&#xA;

2 个答案:

答案 0 :(得分:1)

您只需添加word-break: break-all;即可在换行时更改

https://jsfiddle.net/nqp685h1/

答案 1 :(得分:1)

display: table;移除.chatRight,或使用word-break: break-all;代替word-wrap: break-word;

&#13;
&#13;
.chatRight {
  background-color: lightgrey;
  font-size: 30px;
  padding: 5px;
  border-radius: 6px;
  max-width: 50%;
  word-wrap: break-word;
  text-align: right;
  margin-left: auto;
}
.chatLeft {
  background-color: aqua;
  font-size: 40px;
  padding: 5px;
  border-radius: 6px;
  max-width: 60%;
  word-wrap: break-word;
}
.chatBoxRight {
  text-align: right;
  word-wrap: break-word;
}
.chatBoxLeft {
  text-align: left;
  word-wrap: break-word;
}
#chatList {
  width: calc(100% - 80px);
  list-style-type: none;
  max-width: calc(100% - 80px);
}
#chatList li {
  margin-top: 5px;
  margin-bottom: 5px;
}
&#13;
<div id="chatContainer">
  <ul id="chatList">
    <li class="chatBoxLeft">
      <p class="chatLeft">Hello there!</p>
    </li>
    <li class="chatBoxRight">
      <p class="chatRight">Good day</p>
    </li>
    <li class="chatBoxLeft">
      <p class="chatLeft">How do you do?</p>
    </li>
    <li class="chatBoxRight">
      <p class="chatRight">hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaa</p>
    </li>
    <li class="chatBoxRight">
      <p class="chatRight">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    </li>
  </ul>
</div>
&#13;
&#13;
&#13;