解决方法
一些可能性:
>
将height
(或min-height
)设置为line-height
的used value.
线高的初始值是正常的,其使用值依赖于实现,但spec建议介于1.0和1.2之间的数字
在我的情况下(FF27为winXP与font-family:“times new roman”)的值为1.25,因此您可以使用height:1.25em.但是,该值可能与其他字体或实现不同.
那么最好将line-height设置为某个值,如line-height:1.25em.
@H_301_2@div { border: 1px solid red; min-height: 1.25em; line-height: 1.25; } @H_301_2@<div></div>请注意,如果要仅在没有内容的情况下将这些样式设置为元素,则可以使用:empty
伪类:
>
向元素插入一些内容.
例如,您可以添加正常空间并将white-space
设置为预先换行(或预先)以防止空间折叠:
或者,您可以使用zero-width space(​)
@H_301_2@div { border: 1px solid red; } @H_301_2@<div></div><!-- There is a zero-width space inside -->正如你所说,& nbsp;也会工作.然而,这是一个不间断的空间,所以它的目的是防止自动换行.然后,使用它将在语义上不正确的IMO.
和@BoltClock says一样,这些空格可以插入CSS伪元素,但请注意,在旧的浏览器上可能无法使用.