div中的内容自动换行的有趣现象

现象

在html页面中,有一个限制了宽度的div,在div中分别写入中文文字和英文字母以及数字,可以看到两种不同现象。

  1. 中文内容的div
<div style="width:100px;border:1px solid;">这是一大段中文,发现中文竟然可以自动换行</div>

显示如下:

  1. 英文和数字内容的div
<div style="width:100px;border:1px solid;">aaaaaaaaaa123213123098098asdfddddddddddd</div>

显示如下:

发现

在指定了宽度的div中,对于中文内容,浏览器会自动换行以适应宽度。对于英文及数字,则不会自动换行。

针对英文和数字的解决方案

使用css,显示地控制内容根据div宽度自动换行。


div{
  width: 200px;
  word-wrap: break-word;
}

为什么会这样

word-wrap是css3属性。可用的值有normal | break-word;

normal: 只在允许的断子点换行(浏览器保持默认处理)
break-word: 在长单词或URL地址内部进行换行

可见浏览器对限制宽度div的内容换行,是根据默认的断字点进行的,中文的断字点估计一个文字就是一个点,对于英文,如果是一连串的字符,浏览器可能认为这是一个长单词,所以不予换行。 所以就导致了上述的现象,而在实际应用中,我们是不大可能写一堆连续不断的无意义字符串的,英文单词也会以空格隔开,这样,浏览器依然可以对英文和数字内容换行。
如下代码,不加word-wrap样式,正常的英文内容依然可以自动换行

<div style="width:100px;border:1px solid">hello world! look, the browser word-wrap .</div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,740评论 32 459
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,901评论 0 2
  • 说明 前一篇文字《spring事务之注解形式(一)》发现只是测试了情况,并且异常时属于RunTimeExcepti...
    吴世浩阅读 5,209评论 2 2
  • 上周末(2017.3.11)去杭州滨江的网易参加docker四周岁的活动。Docker用的越来越多,这次还是第一次...
    u7anbo阅读 2,695评论 0 0

友情链接更多精彩内容