这可能是一个简单的问题,但我没有找到一个清晰的解释。我知道在CSS3中,设置径向渐变的语法如下:
如果我设置类似这样的内容:
我原以为红色圆圈会位于中心,红色圆圈的半径将是容器宽度的50%*containerWidth(或容器高度)。也就是说,圆圈将刚好接触外部容器的边缘,但实际得到的结果并非如此,请参见演示:
radial-gradient(shape size at position, start-color, ..., last-color);
如果我设置类似这样的内容:
radial-gradient(circle at 50% 50%, #f00 50%, transparent 50%);
我原以为红色圆圈会位于中心,红色圆圈的半径将是容器宽度的50%*containerWidth(或容器高度)。也就是说,圆圈将刚好接触外部容器的边缘,但实际得到的结果并非如此,请参见演示:
那么有谁能够帮忙解释一下这里的50%具体意义吗(#f00 50%
)?非常感谢。
基于@的答案:
这里的50%是指从正方形中心到对角线的长度。
我在这里还放了几个演示:
因为在默认选项下,百分比是在渐变停止半径和对角线之间的,所以当比率为2**0.5/2≈0.707
时,圆圈将接触正方形的边缘。