我有一个元素,我希望应用背景,虽然我希望背景图像基于其正确的坐标定位.
我可以使用容器div来表示背景,尽管在这种情况下它并不真实.
我现在有以下规则:
.myelem {
background-image: url("myelem.png");
background-position: 5% 60%;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
由于图像的大小,大多数情况下都有效.如果可能的话,我想要一些东西来指明背景的相对位置middle
而不是left
.
3dg*_*goo 14
css propoerty background-position接受center
为值:
.myelem {
background-image: url("myelem.png");
background-position: center center;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
或速记版本:
.myelem {
background: url("myelem.png") center center no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
更新1
没有简单的CSS方法将背景位置设置为中心(或底部或右侧)的偏移.
您可以在实际图像中添加填充,使用javascript计算页面加载后的位置,按照以下SO问题中的建议为元素添加边距:
或者,您可以使用calc
计算正确的位置.虽然目前并非所有浏览器都支持calc.
使用calc你可以这样做:
.myelem {
background-image: url("myelem.png");
background-position: 5% 60%;
background-position: -webkit-calc(50% - 200px) 60%;
background-position: calc(50% - 200px) 60%;
background-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)