【发布时间】:2019-10-31 18:20:54
【问题描述】:
在线性渐变背景中,我创建了一个圆圈,并在其中创建了一个小正方形。圆形是dodgerblue,正方形应该是body的linear-gradient,但问题是div元素的linear-gradient位置与body背景不匹配。
我试过background:inherit用div元素,但是渐变和body不匹配。
body {
background: linear-gradient(45deg, yellow, green);
background-size: 400% 400%;
}
.circle {
height: 150px;
width: 150px;
border-radius: 50%;
position: relative;
margin: auto;
background: dodgerblue;
}
.square {
height: 50px;
width: 50px;
transform: translate(250px, -100px);
background: inherit;
}
<body>
<div class="circle"></div>
<div class="square"></div>
</body>
【问题讨论】:
-
您可以使用
background-attachment: fixed;,但我认为您需要使用left和top属性来定位元素而不是转换。 -
不行,body和div背景还是有区别的
-
显然,如果您将
background-attachment: fixed;添加到body,它会起作用。但是您正在失去对渐变外观的一些控制(它在 400% 的比例下变得不那么突出)。 (编辑:那个,加上绝对定位而不是转换。)(编辑2:jsfiddle.net) -
我想要的是正方形像透明但不是圆形背景它应该有身体背景。