jQuery .css() 未获得背景位置 w/o!在 css 中很重要
jQuery .css() not getting background position w/o !important in css
我希望有人能帮助我理解为什么 jQuery .css() (v1.11) 方法对于具有非覆盖背景位置的元素返回 0% 0%已定义(在检查器中 运行 和样式 sheet)。
我觉得有点困惑的是,为什么当我在规则上强制执行 !important 时它会被拾取...但只有到那时。
jQuery:
;(function WhosebugExample(){
"use strict";
$('div').each(function(){
var origPos = $(this).css('backgroundPosition');
alert('original position: '+origPos); // Why?! false return value 0% 0%
// unless an !important used in the stylerule...
});
})();
CSS:
#test1, #test2 {
padding: 65px;
margin: 50px;
color: #fff;
font-size: 3rem;
text-transform: uppercase;
background-position: 500px 500px !important;
box-shadow: inset 1px 10px 10pc #000;
}
#test1 {
background: url(http://placehold.it/450x250);
margin-bottom: 900px;
}
#test2 {
background: url(http://lorempixel.com/b/1800/800/);
}
最后,标记(玉):
main
h1 This is a parallax scrolling demo
div#test1 test1
div#test2 test2
这是在加载时提醒背景坐标的演示,请注意这次缺少 !important。 jQuery 在这种情况下提醒 0% 0% 背景位置。嗯嗯..
http://codepen.io/nicholasabrams/pen/qEVbpd
下面的演示与上面的唯一区别是#test1 和#test2 的背景位置添加了一个!important 标志,这次你猜对了 jQuery预期的位置和 returns 值。
http://codepen.io/nicholasabrams/pen/ogoLyV
谢谢大家让我知道我是否可以详细说明!
因为您是在背景位置之后设置背景图像,但是您使用的是 shorthand "background" 设置所有背景属性,包括背景位置。
使用:
background-image: url(http://placehold.it/450x250);
相反。
我希望有人能帮助我理解为什么 jQuery .css() (v1.11) 方法对于具有非覆盖背景位置的元素返回 0% 0%已定义(在检查器中 运行 和样式 sheet)。
我觉得有点困惑的是,为什么当我在规则上强制执行 !important 时它会被拾取...但只有到那时。
jQuery:
;(function WhosebugExample(){
"use strict";
$('div').each(function(){
var origPos = $(this).css('backgroundPosition');
alert('original position: '+origPos); // Why?! false return value 0% 0%
// unless an !important used in the stylerule...
});
})();
CSS:
#test1, #test2 {
padding: 65px;
margin: 50px;
color: #fff;
font-size: 3rem;
text-transform: uppercase;
background-position: 500px 500px !important;
box-shadow: inset 1px 10px 10pc #000;
}
#test1 {
background: url(http://placehold.it/450x250);
margin-bottom: 900px;
}
#test2 {
background: url(http://lorempixel.com/b/1800/800/);
}
最后,标记(玉):
main
h1 This is a parallax scrolling demo
div#test1 test1
div#test2 test2
这是在加载时提醒背景坐标的演示,请注意这次缺少 !important。 jQuery 在这种情况下提醒 0% 0% 背景位置。嗯嗯..
http://codepen.io/nicholasabrams/pen/qEVbpd
下面的演示与上面的唯一区别是#test1 和#test2 的背景位置添加了一个!important 标志,这次你猜对了 jQuery预期的位置和 returns 值。
http://codepen.io/nicholasabrams/pen/ogoLyV
谢谢大家让我知道我是否可以详细说明!
因为您是在背景位置之后设置背景图像,但是您使用的是 shorthand "background" 设置所有背景属性,包括背景位置。
使用:
background-image: url(http://placehold.it/450x250);
相反。