我有一个容器,其背景图片居中:
<div class="foo"></div>
.foo {
background: white url(../image.jpg) no-repeat scroll center center / cover;
}
有没有办法用纯CSS或JS将背景图像的位置垂直移动相对于其原始位置的固定值(例如10px)来得到类似的东西:
background-position: center (center - 10px);
答案 0 :(得分:6)
试试这个calc
.foo {
background-position: 50% calc(50% - 10px);
}
答案 1 :(得分:2)
您可以尝试将calc
CSS功能与50%
值结合使用,这意味着center
:
background-position: center calc(50% - 10px);
小心,根据caniuse.com,IE9可能会遇到问题:
IE9中的部分支持是指浏览器在用作a时崩溃 背景位置值。
另一种方法可能是使用background-origin
属性并将所需的边距设置为底部的填充(如果要向上移动图像)或顶部(如果要移动图像)方框:
background-origin: content-box;
padding-bottom: 10px;
background-position: center center;
这看起来更丑,但至少不应该有IE9的崩溃问题。
答案 2 :(得分:0)
这应该运作良好,你能详细说明 - 你想要实现的目标是什么?
background-position: center -10px;
这会将背景图像垂直向上移动10px