当前位置: 首页 > 知识库问答 >
问题:

网站开发 - css边框过渡动画怎么加border-radius?

裴承安
2024-05-16

给图片边框加一个动画,顺时针依次变色,因为图片加了border-radius,要怎么把第一张图和第二张图开始的部分加上圆角。或者换一种实现方案
image.png
image.png
image.png

&.active {    width: 290px;    height: 190px;    position: relative;  &.active::before, &::after {    box-sizing: inherit;    position: absolute;    content: '';    border: 4px solid transparent;    border-radius: 20px !important;    width: 1px;    height: 1px;    z-index: 999;  }  &.active::after {    bottom: 0px;    right: 0px;  }  &.active::before {    top: 0px;    left: 0px;  }  &.active:hover::before, &.active:hover::after {    width: 100%;    height: 100%;  }  &.active:hover::before {    border-top-color: #ff6900;    border-right-color: #ff6900;    transition: width 0.5s ease-out 0s, height 0.5s ease-out 0.5s;  }  &.active:hover::after {    border-bottom-color: #ff6900;    border-left-color: #ff6900;    transition: border-color 0s ease-out 1s, width 0.5s ease-out 1s, height 0.5s ease-out 1.5s;  }}

共有2个答案

严兴言
2024-05-16

没有很好的理解你说的一个需求,所以可能会有偏差,我的理解是 border 的旋转效果?
单纯修改 border-color 来实现会比较生硬,所以一般考虑其他的方式来实现。

比如说旋转背景的方式:
CodePen Demo

<div class="box">  <div class='content'></div></div>
.box {  width: 200px;  height: 100px;  background: #fff;  padding: 12px;  border-radius: 12px;  margin: 12px;  overflow: hidden;  position: relative;}.box .content {  width: 100%;  height: 100%;  background: #87ceeb;  border-radius: 8px;  position: relative;}.box:before {  content: '';  width: 200px;  height: 200px;  background: #ffa500;  display: block;  position: absolute;  top: 50%;  left: 50%;  transform-origin: left top;  animation: rotateT 3s linear infinite;}body {  background: #dadada;}@keyframes rotateT {  from {    transform: rotate(0deg);  }  to {    transform: rotate(365deg);  }}

如果单纯是边框闪烁到补全的话,也还是用类似的方式,只不过不需要使用伪类来旋转了,直接在 .box 上把 backgroud 使用渐变色来实现三角形的思路来实现就好了。具体可以借鉴这篇文章 �� 纯CSS渐变绘制 Chrome 图标

姚俊材
2024-05-16

可以参考下面实现方案
https://csscoco.com/inspiration/#/./background/bg-conic-borde...
https://csscoco.com/inspiration/#/./background/bg-conic-borde...
https://csscoco.com/inspiration/#/./background/bg-linear-bord...
https://codepen.io/alphardex/pen/qBBGxqY
https://codepen.io/alphardex/pen/vYEYGzp

 类似资料:
  • CSS 边框属性 CSS边框属性允许你指定一个元素边框的样式和颜色。 在四边都有边框 红色底部边框 圆角边框 左侧边框带宽度,颜色为蓝色 边框样式 边框样式属性指定要显示什么样的边界。 border-style属性用来定义边框的样式 border-style 值: none: 默认无边框 dotted: 定义一个点线边框 dashed: 定义一个虚线边框 solid: 定义实线边框 double:

  • 问题内容: 因此,我了解了如何同时执行CSS3过渡和动画。我用谷歌搜索的不清楚是什么时候使用它。 例如,如果我想使球弹跳,很明显,动画是必经之路。我可以提供关键帧,而浏览器将做中间帧,并且我将获得一个不错的动画。 然而,在某些情况下,无论哪种方式都可以达到上述效果。一个简单而常见的示例是实现Facebook风格的滑动抽屉菜单: 可以通过以下过渡来实现此效果: 或者,通过类似这样的动画: 使用HTM

  • 语法 border-radius属性用来给元素添加圆角边框。和border类似,border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。 默认值: 0 继承性: no 版本: CSS3 JavaScript 语法: object.style.borderRadius="5px" border-radius语法如下: border-radius: 1-4

  • Border 边框 我们对边框进行统一规范,可用于按钮、卡片、弹窗等组件里。 边框 我们提供了以下几种边框样式,以供选择。 名称 粗细 举例 实线 1px 虚线 2px 圆角 我们提供了以下几种圆角样式,以供选择。 无圆角 border-radius: 0px 小圆角 border-radius: <div class="radius" :style="{ borderRadius: border

  • 我们对边框进行统一规范,可用于按钮、卡片、弹窗等组件里。 边框 我们提供了以下几种边框样式,以供选择。 名称 粗细 举例 实线 1px 虚线 2px 圆角 我们提供了以下几种圆角样式,以供选择。 无圆角 border-radius: 0px 小圆角 border-radius: <div class="radius" :style="{ borderRadius: borderRadiusSmal

  • 有时候在页面中需要做一些分割来区分不同的区域,这个属性不但可以用来给元素添加一个边框,也可以作为不同区域的分割线。 1. 官方解释 CSS 的 border 属性是一个用于设置各种单独的边界属性的简写属性。 border 可以用于设置一个或多个以下属性的值: border-width、border-style、border-color。 2. 慕课解释 任何一个 h5 标签通过添加一个 borde