Problem: When you set a sibling tag, the Width property does not work, and it automatically varies according to the content it contains.
Reason:
For inline elements (which can be inline by default, such as span elements, or display:inline elements)
Width and height only trigger haslayout under ie5.x and IE6 or later in quirks mode.
For IE6, if the browser is running in standard compatibility mode, the inline element ignores the width or Height property, so setting width or height cannot be ordered in this case to have layout of the element.
If the element with "layout" is display:inline at the same time, its behavior is similar to that of the standard Inline-block:
In the paragraph, as in the normal text in the horizontal and continuous arrangement, affected by vertical-align, and size can be adjusted according to the content adaptive . This can also explain why inline elements in Ie/win alone can contain block-level elements that are less problematic, because Display:inline is inline in other browsers, unlike Ie/win, which becomes inline-block once inline elements have layout.
Workaround:
If the set Display:block,width property is in effect, the span at this point is the same as the Div.
If you set Display:inline-block, span is tied to the peer, and the width property takes effect. (this is normally used)
Refer to:
Http://www.jb51.net/css/21614.html
(go) HTML span label setting width not effective solution