这支笔说明了现在如何实现这一点border-image
,在提出这个问题时它的支持很差,但在所有主要浏览器的最新版本上都支持:( IE11+、Firefox 15+、Chrome 16+、Safari 6+ )
基本上,您用于background-image
渲染“完整”图像,使用background-position
.
#container {
height: 100vh;
width: 100%;
margin: 0 auto;
padding: 0 20%;
box-sizing: border-box;
background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/44521/light_minimalistic_soft_shading_gradient_background_1024x768_58884.jpg);
background-size: 61% 100%;
background-position: center 0;
background-repeat: no-repeat;
}
然后,您可以使用border-image
重复的边缘。请注意使用border-image-slice
仅抓取侧面的 1px 边缘。
#container {
border-width: 0 20% 0 20%;
border-image-source: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/44521/light_minimalistic_soft_shading_gradient_background_1024x768_58884.jpg);
border-image-slice: 2;
border-image-width: 2 20%;
border-image-repeat: stretch;
border-image-outset: 2px;
}