多个inline元素、block元素、inline-block元素在父容器中的换行情况


1、首先看inine元素的换行情况

 1 <style>
 2     *{padding:0;margin:0}
 3     div.wrap{width:200px;height:200px;border:1px solid #ccc;margin:10px;}
 4     .inline-element a{margin:0 5px 0 0;padding:0 5px 0 0;height:20px;line-height:20px;background:#ccc;}
 5 
 6 style>
 7 
 8 <div class="wrap">
 9     <span class="inline-element"><a href="">北京a><a href="">上海a><a href="">天津a><a href="">辽宁a><a href="">吉林a><a href="">黑龙江a>span>
10 div>
11 <div class="wrap">
12     <span class="inline-element"><a href="">beijinga><a href="">shanghaia><a href="">tianjina><a href="">123456a><a href="">jiling a>span>
13 div>

显示情况:

多个inline元素在父容器内表现:汉字会折断换行;字母数字不换行,浏览器默认设置下会溢出父元素

如果想让字母、数字进行换行显示,有两种设置方法,第一种是在父包含元素设置 word-break: break-all,另外一种是:word-wrap:break-word;

这两种都有可能会打破元素的连续性,进行破坏性换行。

word-break: break-all的情况:过长的词语“WelcomeToChinaWelcomeToBeiJing”本行显示不下的情况下,折断词语进行显示。可最少占用空间
1 .wrap-inline{width:200px;height:200px;border:1px solid red;margin:10px;word-break:break-all}
2 
3 <div class="wrap-inline">
4     <p>123456 你好 WelcomeToChinaWelcomeToBeiJingp>
5 div>

word-wrap:break-word的情况:可以看出,过长的单词“WelcomeToChinaWelcomeToBeiJing”在本行显示不下的情况下,会重新起一行开始显示
1 .wrap-inline{width:200px;height:200px;border:1px solid red;margin:10px;word-wrap:break-word;}
2 
3 <div class="wrap-inline">
4     <p>123456 你好 WelcomeToChinaWelcomeToBeiJingp>
5 div>

下面这篇文章有助于理解 你真的了解word-wrap和word-break的区别吗?

2、多个block元素的换行情况:汉字、字母、数字都独占一行

.wrap-block{width:200px;height:200px;border:1px solid red;margin:10px;}
.wrap-block a{margin:0 5px 0 0;padding:0 5px 0 0;height:20px;line-height:20px;background:#ccc;display:block;}
<div class="wrap-block"> <a href="">内蒙古a><a href="">青岛a><a href="">青岛a><a href="">青岛a><a href="">内蒙古a> div> <div class="wrap-block"> <a href="">11111a><a href="">222222a><a href="">cccccca><a href="">da><a href="">eeeeea> div>

3、inline-block元素情况:不论是中文、数字、单词词组都会完整显示,完美,推荐使用inline-block设置类似的场景。

1     .wrap-inline-block{width:200px;height:200px;border:1px solid red;margin:10px;}
2     .wrap-inline-block a{margin:0 10px;height:20px;line-height:20px;background:#ccc;display:inline-block;}
3 
4 <div class="wrap-inline-block"><a href="">内蒙古a><a href="">青岛a><a href="">青岛a><a href="">内蒙古a><a
5         href="">内蒙古a>
6 div>
7 <div class="wrap-inline-block">
8     <a href="">11111a><a href="">222222a><a href="">cccccca><a href="">da><a href="">eeeeea>
9 div>

 使用场景:下方的城市列表,可以设置子元素为inline-block,就可以实现完美换行了。