获取并设置单个宽度元素
问题描述:
由于IE7不支持CSS宽度:auto;宽度:100%;或宽度:继承;在span标签上,我需要使用jQuery获取并设置此宽度。获取并设置单个宽度元素
所以,我怎样才能设置跨度类=“center_bg”,以相同的宽度,它最近的跨度类=“文本”
我尝试下面的代码,但它applys每个跨度类相同的宽度=”每个循环直到“center_bg”元素。
jQuery('.ul li span.menu_text').each(function(i) {
var spanWidth = jQuery(this).width();
jQuery("span.center_bg").width(spanWidth);
})
<ul>
<li>
<a>
<span class="left_bg"></span>
<span class="right_bg"></span>
<span class="center_bg"></span>
<span class="text"></span>
<a/>
</li>
<li>
<a>
<span class="left_bg"></span>
<span class="right_bg"></span>
<span class="center_bg"></span>
<span class="text"></span>
<a/>
</li>
</ul
答
- 的
span
元件是通过默认display:inline
元件。 -
display:inline
元素通过 定义中没有专用的盒子 - 它 是相当的能在多个包裹 行个人 字形箱收集。因此内联的宽度和高度是不确定的。
尝试定义这一点,它应该工作:
.ul li span { display:inline-block; }
+0
我不认为IE7支持显示:inline-block; – wdm 2011-06-11 19:07:35
是什么的'span's的CSS?没有浏览器应该支持内联元素的'width'设置。这不是IE7特有的问题,但是通过设计 - 您必须使用块或内嵌块元素 – 2011-06-11 17:24:28
使用跨度中的显示块并向左浮动。或者改变它们的div。 +1 Pekka的评论。 -1你的方法。 – addedlovely 2011-06-11 17:34:43
你有你想要这样看的图像吗?你的方法在这里是更大的问题。 – wdm 2011-06-11 19:13:08