2011-10-12 61 views
1

我有一个span$mySpan固定位置;左工作正常,对不对

调用

$mySpan.css({ 
    position  : 'fixed', 
    left   : '50%', 
    top    : '15%', 
    backgroundColor : 'red', 
    'z-index'  : 1000 
}); 

的作品就好了。但是,

$mySpan.css({ 
    position  : 'fixed', 
    right   : '50%', 
    top    : '15%', 
    backgroundColor : 'red', 
    'z-index'  : 1000 
}); 

不显示跨度。

正如你所看到的,这可能不是z-index问题。我非常困惑,因为我的代码非常复杂,我一直无法使用jsFiddle构建一个简单的示例。我不知道从哪里开始寻找哪里出了问题。

有没有人有暗示,为什么第二种方法不工作?我怎么能调试这样的问题?

+0

是缺少'$'一个错字,还是? – thirtydot

+0

第二个代码片段中是否缺少'$',这里只是一个错字,或者您是否在实际代码中有这样的错误? – gilly3

+1

错字只...在代码中是正确的 – Randomblue

回答

3

试试这个:

$mySpan.css({ 
    'position'  : 'fixed', 
    'left'   : 'auto', /* <-- oftentimes, browsers screw up if 'left' is still set */ 
    'right'   : '50%', 
    'top'    : '15%', 
    'backgroundColor' : 'red', 
    'z-index'   : 1000 
}); 
+0

这可能是答案。 – thirtydot

+0

@vzwick,如果'left'属性必须有值呢?如果我让'left:'auto'',我的'div'会将其内容溢出到浏览器的左侧。你认为这是一个浏览器错误? (我在Chrome上测试过) – TrungDQ

+0

@TrungDQ - 小提琴会有帮助;) – vzwick

1

意外结果可能是由margin-right CSS属性造成的。如果此属性已设置,请将其删除以修复您的代码。

+0

控制台中没有任何错误消息,并且我没有在实际代码中发生错误。 – Randomblue

+0

@Randomblue更新了可能原因的答案。 –

0

在第二个例子中,您可能错过了$$mySpan

+0

我没有在我的实际代码中犯这个错误。 – Randomblue

+0

所以[this fiddle](http://jsfiddle.net/q2vPa/)不起作用? –