我正在尝试放置背景图像,以便在div的顶部和底部留下50px的空间。
我可以通过此属性轻松将背景图像定位在顶部50px
background-position: 0 50px;
但是,我如何定位这个背景图像,以便底部有50px的空间支撑
我试过这个
background-position: 0 50px 0 50px;
但这似乎不起作用。我假设它接受4个参数来从4个方向定位它。
有什么想法吗?
答案 0 :(得分:5)
尝试使用background-clip属性:
padding-top:50px;
padding-bottom:50px;
background-clip: content-box;
请参阅此小提琴:http://jsfiddle.net/A5u8j/
答案 1 :(得分:1)
不幸的是,我不相信这是可能的。根据它的用途,您可以使用两个div,内部div具有背景图像和顶部&底部边距为50px;
答案 2 :(得分:1)
尝试添加这两个属性
background-size: 500px 400px;
background-position: 0 50px;
答案 3 :(得分:1)
你不能用背景位置这样做;但是,你可以使用伪元素一起破解某些东西。
这是更新的CSS:
.test {
border: 2px solid red;
height: 500px;
width: 500px;
position: relative;
}
.test:before {
content: '';
z-index: -1;
background-image: url("http://www.reallyslick.com/pictures/helios.jpg");
background-repeat: no-repeat;
position: absolute;
top: 50px; left: 0; right: 0; bottom: 50px;
}
答案 4 :(得分:1)
您可以使用CSS background-size
,但browser support is somewhat limited。
.test {
border: 2px solid red;
background-image: url("http://www.reallyslick.com/pictures/helios.jpg");
background-position: 0 50px;
background-size:100% 400px;
height: 500px;
width: 500px;
background-repeat: no-repeat;
}
或者,您可以使用两个嵌套元素。外部有顶部和底部设有衬垫,以便内部不会到达顶部/底部。
我已经使用了CSS box-sizing
,以便在高度中考虑填充。请注意,对此的支持也是somewhat limited。
或者,您可以从外部元素的高度中减去填充。
答案 5 :(得分:1)
这是一种方式。放置具有绝对定位和负z-index的图像。将它放在测试div中的任何内容之后。
HTML
<div class="test">
Text on top of background.
<img src="http://www.reallyslick.com/pictures/helios.jpg" class="background"/>
</div>
和css
.test {
border: 2px solid red;
height: 500px;
width: 500px;
overflow: hidden;
position: relative;
color: #fff;
}
.test .background {
position: absolute;
bottom: 50px;
left: 0;
z-index: -1;
}
答案 6 :(得分:1)
你可以在元素上放置一个50px的边框。
HTML
<div class="test"></div>
CSS
.test {
outline: 2px solid red;
border: 50px solid transparent;
background-image: url("http://www.reallyslick.com/pictures/helios.jpg");
background-position: center;
background-size: auto 100%;
height: 500px;
width: 500px;
background-repeat: no-repeat;
box-sizing: border-box;
}
答案 7 :(得分:-1)
为什么不添加50px的保证金?像这样:
.test {
border: 2px solid red;
background-image: url("http://www.reallyslick.com/pictures/helios.jpg");
height: 500px;
width: 500px;
background-repeat: no-repeat;
margin:50px;
}