肉烂在锅里

个人站

我是软件研发中心培训主管,我喜欢看动漫,学习web前端开发。


backgroud-clip & background-origin的微妙关系实验

前言

background-clip和background-origin之间的关系总是这么的微妙。今天就来做一个实验来找到他们的关系。

实验思路

同一个dom结构下对应不同的background-clip和background-origin。值取他们的排列组合。

实验效果

实验源码

<h1>background-color: pink</h1>
	<div class = "bg-image">normal</div>
	<div class = "bg-image border-box">border-box</div>
	<div class = "bg-image border-box" style = "background-clip: padding-box;">
		background-origin:border-box;<br>
		background-clip: padding-box;
	</div>
	<div class = "bg-image padding-box">padding-box</div>
	<div class = "bg-image content-box">content-box</div>
	<div class = "bg-image mixin-box">
		background-origin:content-box;<br>
		background-clip: padding-box;
	</div>
	<div class = "bg-image mixin-box no-repeat">
		background-origin:content-box;<br>
		background-clip: padding-box;<br>
		background-repeat: no-repeat;
	</div>
.bg-image {
			height: 300px;
			width: 550px;
			margin-bottom: 40px;
			padding: 30px;
			font-weight: bold;
			color:blue;
			border: 15px solid rgba(0,.2,.3,.4);
			border-radius: 5px;
			box-shadow: 0px 0px 5px #888888;	
			background-color:pink;
			background-image:url('./img/3.png');
			background-size: 100% 100%;
		}
		.border-box {
			background-origin:border-box;
			background-clip: border-box;
		}
		.padding-box {
			background-origin:padding-box;
			background-clip: padding-box;
		}
		.content-box {
			background-origin:content-box;
			background-clip: content-box;
		}
		.mixin-box {
			background-origin:content-box;
			background-clip: padding-box;
		}
		.no-repeat {
			background-repeat: no-repeat;
		}

总结

1、背景图片两个关系比较模糊的属性:background-origin:border-box | padding-box | content-box;
background-clip: border-box | padding-box | content-box; 2、background-clip:如果是repeat,则规定区域内必定存在图片内容。 background-origin:只负责图片开始展示的位置和结束的位置。 假设background-origin为content-box,那么content-box的左上角开始展示图片,图片的填充区域一直会被拉到content-box的右下角。 background-clip顾名思义,背景的裁剪,但是他也有填充的特性。如果此时background-clip为border-box或者padding-box,那么因为图片开始展示的区域是content-box小于clip指定的范围,那么他就会对相比content-box多出的部分进行图片的填充(前提是repeat开启,否则就直接暴露出背景色了)

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦