我正在编写一个小的 WP 主题,需要一些新的 CSS3 background-size 属性的帮助。
我有一个包含图像作为背景的 DIV。图像本身被设置为大于 div 以呈现原始图像的一个小切口:
.imageContainer {
background-size:154% 102%;
background-position-x:-28%;
background-position-y:0.28%;
}
到目前为止一切都很好。但是如果大小≥ 100%,调用 background-position 属性会变得很棘手。我整理了一些 JS/CSS Playground 进行测试:
- 如果图像的宽度 ≤ 99%,则较少的 background-position-x 意味着图像向左移动。
- 如果图像 == 100% 宽,则 background-position-x 什么都不做
- 如果图像 ≥ 101% 宽,较少的 background-position-x 意味着图像向右。
对于以下情况,我计算了:
- 大容器:350x350px
- 图片:540x359 像素
- 表示:(100/350) * 540 ≙ 154% 宽度
- (100/350) * 359 ≙ 102% 高度。
- 另外:位置-x:-28% 和位置-y:-0.28%
所以我渲染了一个页面(包括自动计算)并且大小大约是正确的大小。但正如我所说,较少的 background-position-x (-28%) 意味着图像正确,图像位置错误。
它必须向左移动,因为我计算了 -28% 的“左边距”。所以我做了一些试验和错误,结果发现正确的位置应该在 50% 左右。
这仍然是一个 CSS3 问题,还是我完全误解了这个属性的功能?
编辑: 这里也是一个 JSFiddle
这是一张图片来说明我的目标……