在IE上使用最小宽度的内联跨度

时间:2012-02-14 09:54:12

标签: html css internet-explorer

您好我有3 SPAN,必须inline并且有min-width
显然在IE上,SPAN可以'有一个min-width。我尝试使用DIV,但当我将其设为inline时,min-width将被忽略。

CSS

span {
    display: inline;
    min-width: 150px;
}

HTML

<span>1</span>
<span>2</span>
<span>3</span>

3 个答案:

答案 0 :(得分:23)

inline元素无法使用widthheightvertical margin&amp; padding。所以你必须定义display:inline-block;这样写:

span {
    display: inline-block;
    *display: inline;/* for IE7*/
    *zoom:1;/* for IE7*/
    min-width: 150px;
}

来源:Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification: 10.3 Calculating widths and margins: 10.3.1 Inline, non-replaced elements

  

'width'属性不适用。 'margin-left'或'margin-right'的'auto'的计算值变为'0'的使用值。

检查此http://jsfiddle.net/yCvhB/5/

答案 1 :(得分:1)

你可以使用填充。
因为你将元素设为内联,所以没有必要指定最小宽度。

答案 2 :(得分:1)

根据sandeep's answer得出答案,您可以使用

span {
    display: inline-block;
    *display: inline;
    *zoom:1;
    width: auto !important;
    width 150px;
    min-width: 150px;
}

它应该有效。看看这个jsfiddle:http://jsfiddle.net/ramsesoriginal/yCvhB/2/

Internet Explorer在最小宽度和高度方面存在一些问题,但同时它存在!important的问题,因此利用它(以及没有指定溢出的事实是IE的最小宽度)我们可以有所作为。