display
jQuery在简单show()
和hide()
函数的底层使用 CSS属性。下面的 HTML 包含三个按钮,每个按钮都包含在一个<span>
标签中,并且所有三个<span>
标签都放置在一个父<div>
容器中。在页面加载时,<span>
使用 jQuery 隐藏标签hide()
,稍后,它们会使用该show()
函数显示。HTML 现在处于以下状态,<span>
标记已收到样式值display: block;
。
<div style="text-align:right; width:100%;">
<span style="display:block">
<input type="button" value="Button1" />
</span>
<span style="display:block">
<input type="button" value="Button2" />
</span>
<span style="display:block">
<input type="button" value="Button3" />
</span>
</div>
在 Firefox (3.5) 中,span 元素垂直堆叠在一起,而在 IE 中,它们显示为内联。我本来希望在两个浏览器中都使用后者,因为我认为 span 标签的默认布局是内联的。
如果我手动将样式从 更改display:block
为display: inline;
,它在 Firefox 中看起来是正确的。本质上,当显示一个元素时,jQuery 使用的值display
并不总是有效的。添加display: block
; 足以显示元素,但不足以用我需要的内联布局显示它。
所以,对于我的问题:
- 这是 jQuery 的一个已知问题吗?我正在使用 jQuery 1.2.6。
- 以前有没有人遇到过这个问题,您是如何解决的?