如何设置SPAN的height属性


88

我需要使以下代码可扩展到预定义的高度

<style>
.title{
   background: url(bg.gif) no-repeat bottom right;
   height: 25px;
}
</style>

<span class="title">This is title</span>

但是由于span是内联元素,因此“ height”属性将不起作用。

我尝试使用div代替,但是它将扩展到上层元素的宽度。并且宽度应该是灵活的。

有人可以为此提出任何好的解决方案吗?

提前致谢。


1
您应该将标题标签(h1,h2,h3,...)用于标题。在语义上更正确。
Pickels 2010年

1
是的,您是正确的Pickels。感谢大家的帮助。这是我最后的CSS。它对我很有用:<style> h4 {display:inline-block; 缩放:1;*显示:内联;边距:0px; 高度:25px;} </ style>
Kelvin

Answers:


142

display:inline-block在CSS中给它一个-应该让它做您想要的。
在兼容性方面:IE6 / 7与此兼容,如怪癖模式所示:

IE 6/7仅在自然显示的元素(内联)上接受该值。


就其价值而言,IE7不支持inline-block
Scott Cranfill

Np。@Scott:我在W3上看不到-他们在说什么:Note: No versions of Internet Explorer (including IE8) support the property values "inline-table", "run-in", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-row", or "table-row-group".
casraf 2010年

2
@henasraf-@Scott的正确,我也因为快而不能使用它:quirksmode.org/css/display.html
Nick Craver

2
Quote:IE 6/7 accepts the value only on elements with a natural display: inline.
casraf

1
嗯,我想如果将其应用到spanthen上它将起作用。感谢您的信息,henasraf。
Scott Cranfill


13

这是为了使display:inline-block在所有浏览器中都能正常工作:

足够奇怪的是,在IE(6/7)中,如果使用“ zoom:1”触发hasLayout,然后将显示设置为嵌入式,则它的行为就像是嵌入式块。

.inline-block {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

5

假设您不想使其成为一个块元素,那么您可以尝试:

.title  {
    display: inline-block; /* which allows you to set the height/width; but this isn't cross-browser, particularly as regards IE < 7 */
    line-height: 2em; /* or */
    padding-top: 1em;
    padding-bottom: 1em;
}

但最简单的解决方法是简单地将.title作为一个块级元素,并使用相应的标题标签<h1>通过<h6>


0

跨度 { display: table-cell; height: (your-height + px); vertical-align: middle; }

为了使跨度像表格单元格(或其他任何元素)那样工作,必须指定高度。我给了跨度一个高度,它们工作得很好-但您必须增加高度才能让它们做您想要的事情。


0

当然,另一个选择是使用Javascript(此处为Jquery):

$('.box1,.box2').each(function(){
    $(this).height($(this).parent().height());
})

-4

为什么在这种情况下需要跨度?如果要设置高度样式,可以只使用div吗?您可以尝试使用div display: inline,尽管实际上可能会发生与span相同的问题,但这可能会有相同的问题。


3
或者,完全忽略我的闲话,并使用henasraf的答案:)
塞斯·

不赞成投票的评论只会阻止那些想要合法贡献的人。停下来!只是提供一些建设性反馈,或者更重要的是,您可以就此发表自己的看法。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.