div+css实现鼠标悬浮丝带折叠收缩动画效果代码

代码语言:html

所属分类:悬停

代码描述:div+css实现鼠标悬浮丝带折叠收缩动画效果代码

代码标签: div css 鼠标 悬浮 丝带 折叠 收缩 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

  
  
<style>
@property --a {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: true;
}

h1 {
  --r: 30px;  /* control the cutout of the ribbon */
  --a: 15deg; /* control the angle (only positive values) */
  --c: #d81a14;
  
  line-height: 1.6; /* this will control the height */
  padding-inline: .5lh; /* OR calc(tan(var(--a))*1.5lh) */
  color: #fff;
  background:
    linear-gradient(calc(90deg + var(--a)),
      #0000 calc(1lh*sin(var(--a)) - 1px),
      var(--c) calc(1lh*sin(var(--a))) calc(100% - 1lh*sin(var(--a))),
      #0000 calc(100% - 1lh*sin(var(--a)) + 1px)
    );
  position: relative;
  rotate: calc(-1*var(--a));
  transform-style: preserve-3d;
  transition: --a .5s;
  cursor: pointer;
}
h1.alt {
  --c: #8FBE00;
  rotate: var(--a);
  background:
    linear-gradient(calc(90deg - var(--a)),
      #0000 calc(1lh*sin(var(--a)) - 1px),
      var(--c) calc(1lh*sin(var(--a))) calc(100% - 1lh*sin(var(--a))),
      #0000 calc(100% - 1lh*sin(var(--a)) + 1px)
    );
}
h1:before,
h1:after{
  content: "";
  position: absolute;
  transform: translate3d(0,0,-1px);
  rotate: var(--a);
  height: calc(1lh/cos(var(--a)));
  width: calc(100%*cos(var(--a)) - 1lh*sin(var(--a))) ;
  background: color-mix(in srgb,var(--c),#000 40%);
  pointer-events: none;
}
h1.alt:before,
h1.alt:after {
  rotate: calc(-1*var(--a));
}
h1:before {
  right: 0;
  top: 0;
  transform-origin: top right;
  clip-path: polygon(0 0,100%.........完整代码请登录后点击上方下载按钮下载查看

网友评论0