css利用word-wrap和word-break解决文本自动折行问题

通常情况下汉字会自适应标签宽度,自动换行显示,但是对于英文字母或数字就会溢出显示,不会自动折行显示,例如

test.html
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="tset.css" rel="stylesheet" type="text/css">
</head>
<body>
<p>1111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</p>
<p>史蒂夫空间 发快递放假 的款式设计范德萨地方经济史 蒂夫空间发快递放假的款式 设计范德萨地方经济史蒂夫空间发快递放假的款式设计范德萨地方经济上岛咖啡健康大数据反馈到九分裤史蒂夫街道上看风景</p>
</body>
</html>

test.css

p{
    width:300px;
    border: 1px solid #cccccc;
}

运行效果为

但是我们想要的效果是这样的:

要达到上下两个p标签显示效果一致

可以结合使用word-wrap和word-break的属性解决这个问题

那么test.css改为如下代码就可以解决这个问题

p{
    width:300px;
    border: 1px solid #cccccc;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
}

word-break:break-all  允许在单词内换行

white-space:normal  默认空白会被浏览器忽略不换行  当opera浏览器不兼容word-break属性是可以使用white-space忽略空白,两个属性混合使用。

word-wrap:break-word 在长单词或 URL 地址内部进行换行。

在实际应用中white-space:normal,word-wrap:break-word ,word-break:break-all 同时使用可以使文本忽略不按空格换行。如果想实现按单词折行,可以将word-break:break-all省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值