omiga

简单就好

模拟block-inline

发表评论»

首先声明CSS中并没有“block-inline”这一属性,只有inline-block。inline-block属性将对象呈现为内联对象,但其文本呈递为块级对象,可以简单地理解为被inline-block定义后的对象是一个可以与其相邻的内联对象同行显示的块级对象。

block-inline则反之,对外变现为块级对象,其内文本表现为内联对象。实际应用中,这种情况是经常遇到的。比如想将一个链接单行显示(可以使用display:block,也可以使用<br/>,还可以在其外层嵌套块级容器,但这些明显不是最好的方法),但是又不想链接的感应区域是整个行,实际应用见本站存档页

具体解决方法如下:

.block-inline{
  display:block; /*对外呈现为块级对象*/
  width:0; /*小于正常宽度即可*/
  white-space:nowrap; /*单行显示*/
}

原理也就是在将对象呈现为块级元素后,定义小于正常宽度的宽度值,再强制文本单行显示以撑开到正常鼠标感应宽度~···