我有一个包含背景图像的图表列表,类似于以下内容:
<ul>
<li>
<figure style="background-image: url(...);"></figure>
</li>
<li>
<figure style="background-image: url(...);"></figure>
</li>
<li>
<figure style="background-image: url(...);"></figure>
</li>
</ul>
这些图片都将它们的 background-size
设置为 cover
,并将 background-attachment
设置为 fixed
。
figure {
width: 100%;
height: 100%;
background-size: cover;
background-attachment: fixed;
}
当每个图像占据整个视口时,这很好,但如果有任何偏移,背景图像就会被裁剪。
据我所知,这是有意设计的(https://developer.mozilla.org/en-US/docs/Web/CSS/background-size#Values)。
我希望图片在垂直或水平方向上只裁剪一个方向,并且根据图形本身的大小居中。
我知道有JavaScript解决方案,但是否有一种使用CSS的方法来实现呢?
这里是一个有效的示例:http://codepen.io/Godwin/pen/KepiJ