以下代码中左上方的border区域未显示图片,按理来说图片会默认占满border区域
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Clip</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
border: none;
}
div {
width: 800px;
height: 400px;
padding: 50px;
border: 50px solid transparent;
background: url('bg1.jpg') no-repeat ;
/* background-origin: border-box;
background-origin: padding-box;
background-origin: content-box; */
}
span.div_border {
position: absolute;
top: 0;
left: 0;
width: 800px;
height: 400px;
padding: 50px;
border: 50px solid rgba(255, 0, 0, .25);
}
span.div_padding {
position: absolute;
top: 50px;
left: 50px;
width: 800px;
height: 400px;
border: 50px solid rgba(255, 255, 0, .25);
}
</style>
</head>
<body>
<div></div>
<span class="div_border"></span>
<span class="div_padding"></span>
</body>
</html>
正在回答
同学你好,因为背景图片是比较大的,原本默认从padding方向显示,图片超出div的部分被裁减。同学后来提供的代码给background-position设置水平、垂直方向都设置了居中,这时候图片会铺满整个div,也就是从border开始显示图片。(background-position 属性设置背景图像的起始位置。)
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星