我的页面中心有一个div,我希望在中间有一个白色背景,然后,好吧,说你在适当大小的图片的所有边缘拍了10px,并把它放在白色的边缘基本上是白色背景,但是全尺寸图像只能通过外部10px显示。
我尝试使用border-image属性系列的所有内容似乎都没有做我想要的,它只会将我想要的图片放在边框的每个角落。
感谢您的帮助!
答案 0 :(得分:2)
你必须将div放入div。第一个div更大,他的背景是你的图片,它的填充= 10px。第二个较小,包含白色背景。
答案 1 :(得分:0)
您可以使用位置relative
创建div并将图像放入其中。其次将掩码置于伪:before
或:after
中,并使用absolute
/ top
/ right
/ bottom
将其置于left
位置彼此相等,如60px和风格。
div {
width: 400px;
height: 400px;
background-image: url(http://placehold.it/400x400/4aa3df);
background-size: cover;
position: relative
}
div:before {
content:'';
position: absolute;
display: inline-block;
top: 60px;
left: 60px;
right: 60px;
bottom: 60px;
background-color: #eee;
z-index: 9999
}

<div></div>
&#13;
答案 2 :(得分:0)
background-clip + padding或border或者两者都应该使用渐变来绘制纯色:
https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip
body, p , div {
background:linear-gradient(white,white), url(http://lorempixel.com/300/300/abstract/10) center;
/* background-size:auto auto,cover;*/
background-clip : content-box, border-box;
margin:1em;
padding:1em;
box-shadow:0 0 0 3px, inset 0 0 0 3px red ;/* borders needs to be used for demo, this fakes one outside and inside */
min-height:30px;
text-align:center;
}
p {
padding:0;
border:solid 1em transparent
}
body {
border:solid 1em transparent
}
html {
background:gray;
&#13;
body: 1em padding + 1em border. <b>Notice where stands inset red shadow in containers</b>
<div>div: 1em padding </div>
<p>p: 1em border</p>
&#13;