transform实现按钮边框旋转效果

简介: transform实现按钮边框旋转效果

按钮边框旋转效果该如何实现呢?

首先我们需要一个按钮

color:#0ebeff;
font-size:24px;
background:#000;
border:none;
outline:none;
z-index:1;
border-radius:10px;
overflow:hidden;

然后给这个按钮加上相对定位

position:relative;

为什么要加上定位呢?

因为按钮里边转来转去的那个东西实际上是相对定位的。

这个东西其实是一个伪元素,一个绝对定位的伪元素。

button::before {
    content:'';
    position:absolute;
    background:#f40;
    width:200%;
    height:200%;
    z-index:-2;
    left:50%;
    top:50%;
    transform-origin: 0 0;
    animation:rotate 3s infinite linear;
}

然后加上动画效果:

#keyframes rotate {
    to {
        transform:rotate(1turn)
    }
}

然后再设置第二个伪元素:

button ::after{
    content:'';
    position:absolute;
    background:#000;
    width:calc(100% - 4px);
    height:calc(100% - 4px);
    left:2px;
    top:2px;
    border-radius:10px;
    z-index:-1
}

即可实现效果

相关文章
|
5月前
|
前端开发
Canvas如何画一个线条,画布效果最好添加字体和线条回溯
Canvas如何画一个线条,画布效果最好添加字体和线条回溯
|
5月前
|
前端开发
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
如何在页面中画一个canvas,然后在居中位置写上蓝色‘Hello Canvas‘,并加上文字描边 * @type {HTMLElement}
|
7月前
|
前端开发
echarts使用transform缩放后导致图标模糊
echarts使用transform缩放后导致图标模糊
|
7月前
边框虚线滚动动画特效
边框虚线滚动动画特效
|
前端开发
CSS transform实现按钮边框旋转效果
CSS transform实现按钮边框旋转效果
132 1
|
移动开发 HTML5
使用三次贝塞尔曲线绘制弧形菜单
使用三次贝塞尔曲线绘制弧形菜单
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
136 0
|
前端开发
基于canvas绘制边框环绕进度条
基于canvas绘制边框环绕进度条
247 0
基于canvas绘制边框环绕进度条
|
前端开发 开发者
Canvas中的拖拽、缩放、旋转 (下)——代码实现
Canvas中的拖拽、缩放、旋转 (下)——代码实现
585 0
Canvas中的拖拽、缩放、旋转 (下)——代码实现
Core Animation - 如何来绘制三个圆角一个直角的矩形
Core Animation - 如何来绘制三个圆角一个直角的矩形
77 0