是否可以创建一个使这个html的规则
<div style="width: 100%"></div>
一行高度只使用CSS,或者我需要把& nbsp;作为内容?
解决方法
一些可能性:
>
将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.
div { border: 1px solid red; min-height: 1.25em; line-height: 1.25; }
<div></div>
请注意,如果要仅在没有内容的情况下将这些样式设置为元素,则可以使用:empty
伪类:
div:empty { border: 1px solid red; height: 1.25em; line-height: 1.25; }
<div></div>
>
向元素插入一些内容.
例如,您可以添加正常空间并将white-space
设置为预先换行(或预先)以防止空间折叠:
div { border: 1px solid red; white-space: pre-wrap; }
<div> </div>
或者,您可以使用zero-width space(​)
div { border: 1px solid red; }
<div></div><!-- There is a zero-width space inside -->
正如你所说,& nbsp;也会工作.然而,这是一个不间断的空间,所以它的目的是防止自动换行.然后,使用它将在语义上不正确的IMO.
和@BoltClock says一样,这些空格可以插入CSS伪元素,但请注意,在旧的浏览器上可能无法使用.