我已经创建了我要解决的问题的简化版本。请看一下
HTML:
<div class="container">
<div class="bg-left">
<div class="content">
Some content here
</div>
</div>
</div>
CSS:
.container {
display: block;
height: 200px;
width: 100%;
background-color: #e2e2e2;
}
.bg-left {
background-image: url('http://i.imgur.com/hDheuGJ.png');
background-repeat:no-repeat;
background-position: 0px 0px;
width: 100%;
height: 100%;
}
.content {
width: 960px;
margin: 0 auto;
font-size: 20px;
}
JSFiddle:http: //jsfiddle.net/gnPC6/
此代码包含:
1) 100% 宽度的 DIV,其中包含位于左上角的背景图像(即黑色三角形)
2) 在这个 div 中有另一个 div,例如 960px 宽和居中。一些内容会放在这里。
问题:如果调整浏览器窗口的宽度,左上角的黑色三角形仍然可见,结果是这张图片遮住了前景内容。
因此,我想要实现的是:
1)如果用户的浏览器被调整到1050px或以下,那么黑色三角形的背景位置会调整,使得浏览器调整得越多,黑色三角形就越不明显(即背景图像动态滑出屏幕向左转)...
如果用户窗口为 1051px 或以上,背景位置应保持为 0px 0px;
如果用户窗口是 1050px,background-position 应该是 0px -1px;
如果用户窗口为 1049px,则 background-position 应为 0px -2px;
如果用户窗口是 1048px,background-position 应该是 0px -3px;等等
这本质上是我想要实现的目标,但我不知道从哪里开始使用 Javascript 来解决这个问题。
如果您有任何建议,请告诉我,非常感谢!
编辑我知道媒体查询,但我不相信他们能有效地解决这个问题。我不想仅仅根据浏览器的宽度更改 CSS,我希望背景位置随着浏览器大小的调整而动态变化。为此,我确信需要一个 javscript 解决方案,而不是数百个 @media 声明