我在div
里面有一个带有连字符的文字。当div
变小时,文本溢出而不是在连字符处断开。
我尝试了word-break
和overflow
,但无法弄清楚如何解决这个问题。这是一个正在发生的事情的例子,以及我想要实现的目标。
div{
width:70px;
border:1px solid;
}
<b>How it is now </b>
<div> bla bla-blablabla</div>
<br>
<b> What should happen: </b>
<div> bla bla-<br>blablabla</div>
编辑重复的问题: 给出的答案是错误的。
答案 0 :(得分:2)
使用word-wrap: break-word
并在没有更多空间时中断。不是“我们”想要的时候。
div {
width: 70px;
border: 1px solid;
}
div:first-of-type {
word-wrap: break-word
}
<b>How it is now </b>
<div>bla bla-blablabla</div>
<br>
<b> What should happen: </b>
<div>bla bla-
<br>blablabla</div>
更新,因为您确实想要在hyphen
中打破 ,您可以使用­
或wbr
div {
width: 70px;
border: 1px solid;
}
<b>How it is now </b>
<div>bla bla-blablabla</div>
<br>
<b> What should happen: </b>
<div>bla bla-
<br>blablabla</div>
<hr />
<b>How it is now using &shy;</b>
<div>bla bla­blablabla</div>
<br>
<b>How it is now using wbr</b>
<div>bla bla-<wbr>blablabla</div>
<br>
答案 1 :(得分:0)
如果可以使用jquery:
$(function() {
$('div').each(function() {
$(this).html($(this).text().replace(/-/, '-<br>'));
});
});
&#13;
div{
width:80px;
border:solid 1px red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div> bla bla-blablabla blablabla-blabla</div>
&#13;
<强>更新强>
$('div').each(function() {
$(this).html($(this).text().replace(/-/g, '<span></span>'));
});
&#13;
div{
width:80px;
border:solid 1px red;
}
span:after{
content:"-";
display:inline-block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div> bla bla-blablabla babababs sbba-blabla</div>
&#13;