使用CSS,
我正在尝试指定Firefox中span标签的高度,但是它只是不接受(IE接受)。
如果我使用div,Firefox会接受height,但是使用div的问题是它后面的烦人的换行符,在这种情况下我无法做到这一点。
我尝试为div设置CSS样式属性:
,但是Firefox似乎还是将其恢复为span行为,并再次忽略了height属性。
<铅>
您可以将任何元素设置为display: inline-block以允许其接收高度或宽度。这也使您可以将任何其他"块样式"应用于元素。
但是要注意的一件事是Firefox 2不支持此属性。 Firefox 3是第一个支持此属性的基于Mozilla的浏览器。所有其他浏览器都支持此属性,包括Internet Explorer。
请记住,如果以怪癖模式运行,inline-block不允许您在Firefox上的元素内设置文本对齐方式。据我所知,所有其他浏览器都允许这样做。如果要在怪癖模式下运行时设置文本对齐方式,则必须使用属性-moz-inline-stack而不是inline-block。请记住,这是仅适用于Mozilla的属性,因此您必须进行一些浏览器检测以确保只有Mozilla能够获得此功能,而其他浏览器则获得标准的inline-block。
1 2 3 4 5 6 7
| <style>
#div1 { float:left; height:20px; width:20px; }
#div2 { float:left; height:30px; width:30px }
</style>
FirstDiv
SecondDiv |
只要容纳div's 1和2的容器的宽度足以容纳它们,就可以了。
内联元素不能具有这样的高度(也不是宽度)。默认情况下,SPAN已为display: inline。在这种情况下,Internet Explorer实际上是损坏的浏览器。
由于要内嵌显示,因此高度应设置为line-height属性的高度。
根据布局的方式,可以始终在span / div上使用float:left或float:right来防止换行。但是,如果您想在句子的中间使用该选项,则该选项不可用。
要设置跨度的高度,应在Firefox中起作用
1 2 3 4
| span {
display: block;
height: 50px;
} |
问题是\\'display:inline \\'无法获得关联的高度,因为处于内联状态时,它是从其内容中获取其高度的。无论如何,如何定义在行尾断开的框的高度?
您可以尝试设置\\'line-height \\',或者,如果这样做不能令您满意,请设置填充:
1 2
| /* makes the whole box higher by inserting a space between the border and the content */
padding: 0.5em 0; |
仅当span元素设置为display: block;时,才可以更改其高度(和宽度)。这是因为它通常是一个内联元素。 div通常设置为display: block;。
一个解决方案可能是使用:
1
| Text <span style="padding: 14px 0 14px 0; background: #ff0;">wooo</span> text. |
您可以使用padding和block-inline属性调整元素内部的
文本对齐方式。显示:行内块; padding-top:3px;例如
em中的
height = relative line-height
例如height:1.1em与line-height:1.1
= 100%填充