本文将为大家详细讲解“CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法”的完整攻略。
径向渐变(radial-gradient)
是CSS3新增的一种渐变方式,它是从一个圆形、椭圆形或球形的中心开始改变颜色的过渡效果。径向渐变可以用来创建许多不同的特效,例如波浪边框和内倒角。
首先,创建一个div元素,并设置其class为“wave-border”,然后为该元素添加以下CSS样式:
.wave-border {
position: relative;
width: 200px;
height: 200px;
padding: 20px;
border-radius: 50%;
background-color: #fff;
overflow: hidden;
}
.wave-border::before {
content: "";
position: absolute;
top: -20px;
left: -20px;
right: -20px;
bottom: -20px;
border: 10px solid transparent;
border-radius: 50%;
background: radial-gradient(circle at center, #fff 30%, #0099cc);
}
以上代码的解释如下:
position: relative
:设置为相对定位,是为了后续的波浪层用绝对定位参照其父元素。width: 200px; height: 200px;
:设置容器的宽度和高度。padding: 20px;
:设置内边距,是为了避免波浪边框覆盖住容器的内容。border-radius: 50%;
:将容器变成一个圆形。background-color: #fff;
:设置背景颜色为白色。overflow: hidden;
:超出容器大小的内容将被裁剪掉。接下来,我们为这个div元素的::before伪元素添加边框样式:
content: "";
:添加内容为空的伪元素。position: absolute;
:设置为绝对定位。top: -20px; left: -20px; right: -20px; bottom: -20px;
:将该元素的四个方向扩展到容器的外部,形成边框的效果。border: 10px solid transparent;
:将边框设置为10px实心透明的边框,因为我们将在后面使用径向渐变绘制波浪边框。border-radius: 50%;
:将该元素变成一个圆形,与容器的圆形相匹配。background: radial-gradient(circle at center, #fff 30%, #0099cc);
:设置径向渐变,将渐变的中心位置设在圆的中心位置,第一个颜色为#fff,渐变到30%时,颜色为#0099cc。这样,就完成了径向渐变波浪边框的实现。
效果预览:https://codepen.io/anon/pen/bgxdoW
为了实现内倒角的效果,我们需要先创建一个div元素,并设置其class为“inner-corner”,然后为该元素添加以下CSS样式:
.inner-corner {
position: relative;
width: 200px;
height: 200px;
background-color: #fff;
}
.inner-corner::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
background: #0099cc;
border-radius: 50%;
}
.inner-corner::after {
content: "";
position: absolute;
top: 20px;
left: 20px;
right: 20px;
bottom: 20px;
background-color: #fff;
}
以上代码的解释如下:
position: relative
:设置为相对定位,是为了后续的波浪层用绝对定位参照其父元素。width: 200px; height: 200px;
:设置容器的宽度和高度。background-color: #fff;
:设置背景颜色为白色。我们对这个div元素的::before伪元素添加样式:
content: "";
:添加内容为空的伪元素。position: absolute;
:设置为绝对定位。top: 10px; left: 10px; right: 10px; bottom: 10px;
:将该元素的四个方向缩小10px,实现内倒角的效果。background: #0099cc;
:将背景颜色设置为淡蓝色。border-radius: 50%;
:将该元素变成一个圆形。现在,我们再为这个div元素的::after伪元素添加样式:
content: "";
:添加内容为空的伪元素。position: absolute;
:设置为绝对定位。top: 20px; left: 20px; right: 20px; bottom: 20px;
:将该元素的四个方向再缩小20px,与前面的波浪层相匹配。background-color: #fff;
:将背景颜色设置为白色。这样,我们就完成了内倒角的实现。
效果预览:https://codepen.io/anon/pen/YLMdVG
以上是关于“CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法”的完整攻略,希望能够对大家有所帮助。