前言
对于display: inline-block;了解过CSS的人都知道,表示这个元素是一个内联块。既可以设置宽高又可以并排显示,但你知道这背后的原理吗?
display
首先,我们来回顾一下display
属性:
display
属性可以将决定该元素在流式布局中的表现(块级或内联元素);
display: block;表示这个元素是块级元素,垂直显示,宽度自动撑满,可以设置宽高。
display: inline;表示这个元素是内联元素,并排显示,宽度自动收缩,不能设置宽高。
display:inline-block;表示这个元素是内联块,既可以设置宽高又可以并排显示。
回顾完display
属性,我们再来认识一下元素在页面布局的表现。
‘两个盒子’
在页面布局中,其实每个元素都两个盒子: 外在盒子和内在盒子。
外在盒子:负责元素是可以一行显示,还是只能换行显示;
内在盒子:负责宽高和内容呈现,也叫容器盒子;
重新理解display
现在我们结合元素在在页面布局中的表现,重新理解一下display
属性:
display: block;的元素的盒子实际由外在的“块级盒子” 和内在的“块级容器盒子”组成;
display:inline-block;的元素则由外在的“内联盒子”和内 在的“块级容器盒子”组成;
display:inline;的元素则内外均是“内联盒子”;
所以这就解释了display:inline-block;的元素既能和图文一行显示, 又能直接设置宽高了。
因为有两个盒子,外面的盒子是 inline,里面的盒子是 block。
结语
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!