背景图像位置固定到父元素
我在页面上的某个地方有一个 div,我需要给它一个背景图像,当您滚动浏览器窗口时该背景图像不会移动。到目前为止,这是我的代码:
#mydiv {
float:left;
width:540px;
margin:40px 0px 0px 20px;
background:url(/images/myimage.jpg) no-repeat fixed 0px 0px transparent;
}
问题是我的背景图像相对于画布定位,我需要它相对于 #mydiv
定位,但仍然不滚动。
要说明问题,请参阅此处 http://jsfiddle.net/QPrUz/1/
在示例中,#div1
看起来不错,但 #div2
根本不显示背景,因为它是相对于画布定位的,而不是 #div2< /代码>。
欢迎任何建议。
附注
iframe 不是一个选项。
I have a div somewhere on the page and I need to give it a background image that does not move when you scroll your browser window. This is my code so far:
#mydiv {
float:left;
width:540px;
margin:40px 0px 0px 20px;
background:url(/images/myimage.jpg) no-repeat fixed 0px 0px transparent;
}
The problem is that my background image is positioned relative to canvas and I need it to be positioned relative to #mydiv
and still not scroll.
To illustrate the problem please see here http://jsfiddle.net/QPrUz/1/
In the example #div1
looks fine but #div2
does not show the background at all as it is positioned relative to the canvas instead of #div2
.
Any suggestions are welcome.
P.S.
iframe is not an option.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据 Jawad 的评论,不可能使用 CSS。我最终将背景更改为可重复的内容。
As per Jawad's comment it's not possible using CSS. I ended up changing a background to something repeatable.
MDN for
fixed
说:使用
scroll
而不是fixed
:因此,粘性背景相对于元素本身固定的完整代码:
MDN for
fixed
says:Use
scroll
instead offixed
:So, the full code for sticky background fixed relative to the element itself:
如果我理解这个问题,您只需定位背景图像的顶部/左侧,以便 div2 看起来像 div1 。
这是: http://jsfiddle.net/7kku4v1t/
我只更改
为:
If I understood the question, you just have to position the top/left of the background image so that div2 looks like div1.
here it is: http://jsfiddle.net/7kku4v1t/
I only changed:
to