html span边框,css – 在父悬停上旋转span元素边框

给父div:hover伪类并将其子目标 – div:hover children

也就是说,我是一个平滑动画的傻瓜;这就是我在这个例子中所关注的内容,同时减少了所需的标记.

让我们做到这一点 – 中间的笔划消失,底部笔划完成360度旋转,最后在中间.右边的两个例子更进一步.这些低级GIF在下面的演示中看起来好多了!

HTML

只需要一个HTML元素:

CSS

I am :before

I am an illusion created by box-shadow

I am :after

>平滑过渡由div给出:before,div:after {transition:all 0.3s; }

完整示例 – 简单过渡

div:before,

div:after {

transition: all 0.3s;

}

div {

width: 100px;

height: 100px;

background-color: red;

position: relative;

cursor: pointer

}

div:before,

div:after {

content: '';

height: 5px;

width: 50px;

display: block;

position: absolute;

background: #FFF;

left: 50%;

top: 50%;

margin-left: -25px;

transform: rotate(0);

}

div:before {

margin-top: -20px;

box-shadow: 0 20px 0 #FFF;

}

div:after {

margin-top: 20px;

}

div:hover:after {

margin-top: 0;

transform: rotate(360deg);

}

div:hover:before {

margin-top: 0;

transform: rotate(90deg);

box-shadow: none;

}

更多例子

您可以使用以下基本概念制作各种动画:

h2 {

display: inline-block;

vertical-align: middle;

font-size: 0.8em;

}

div,

div:before,

div:after {

transition: all 0.3s;

}

div {

width: 100px;

height: 100px;

background-color: red;

position: relative;

cursor: pointer;

display: inline-block;

vertical-align: middle;

margin: 10px;

}

div:before,

div:after {

content: '';

height: 5px;

width: 50px;

display: block;

position: absolute;

background: #FFF;

left: 50%;

top: 50%;

margin-left: -25px;

transform: rotate(0);

}

div:before {

margin-top: -20px;

box-shadow: 0 20px 0 #FFF;

}

div:after {

margin-top: 20px;

}

div.one:hover:after {

margin-top: 0;

transform: rotate(360deg);

}

div.one:hover:before {

margin-top: 0;

transform: rotate(450deg);

box-shadow: none;

}

div.two:hover {

border-radius: 50%;

transform: rotate(180deg);

}

div.two:hover:after {

margin-top: -3px;

transform: rotate(360deg);

width: 30px;

margin-left: -16px;

}

div.two:hover:before {

margin-top: -3px;

transform: rotate(450deg);

box-shadow: none;

width: 30px;

margin-left: -16px;

}

div.three {

box-shadow: 0 0 1px #F00;

}

div.three:hover {

border-radius: 50%;

transform: rotate(360deg);

box-shadow: 0 0 30px #F00;

-webkit-animation: pulse 1s infinite;

animation: pulse 1s infinite;

}

div.three:hover:after {

margin-top: -3px;

transform: rotate(360deg);

width: 30px;

margin-left: -16px;

}

div.three:hover:before {

margin-top: -3px;

transform: rotate(450deg);

box-shadow: none;

width: 30px;

margin-left: -16px;

}

@-webkit-keyframes pulse {

0% {

transform: scale(1);

box-shadow: 0 0 5px #F00;

}

50% {

transform: scale(1.05);

box-shadow: 0 0 30px #F00;

}

100% {

transform: scale(1);

box-shadow: 0 0 5px #F00;

}

}

@keyframes pulse {

0% {

transform: scale(1);

box-shadow: 0 0 5px #F00;

}

50% {

transform: scale(1.05);

box-shadow: 0 0 30px #F00;

}

100% {

transform: scale(1);

box-shadow: 0 0 5px #F00;

}

}

Spinny

Circular Ripple

Heartbeat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现CSS边框发光动画效果,您可以使用CSS的animation属性和box-shadow属性。首先,您可以为具有边框元素创建一个CSS类,例如名为"glow-border"的类。然后,您可以在该类中定义动画和光晕效果。 下面是一个示例代码: ```css .glow-border { animation: glow 2s infinite; border: 2px solid transparent; } @keyframes glow { 0% { box-shadow: 0 0 5px #00ff00; } 50% { box-shadow: 0 0 20px #00ff00; } 100% { box-shadow: 0 0 5px #00ff00; } } ``` 在上面的代码中,我们创建了一个名为"glow-border"的类,并为其指定了一个名为"glow"的动画。该动画会在2秒内循环播放。我们还使用了border属性来设置元素边框样式。 在关键帧动画中,我们定义了三个关键帧,分别是0%、50%和100%。在0%和100%的关键帧中,我们使用box-shadow属性为元素添加一个绿色的发光效果。在50%的关键帧中,我们将box-shadow的大小增加,以增强发光效果。 您可以将"glow-border"类应用于您想要添加发光动画效果的元素上,例如一个div元素。通过这样做,您将看到边框发光的动画效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【前端实例代码】使用 HTML CSS 和 JavaScript 实现具有带边框悬停动画的彩色发光霓虹灯悬停效果的动画按钮...](https://blog.csdn.net/qq_22182989/article/details/126413773)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值