首页前端开发CSScss怎么做屏幕围绕一圈

css怎么做屏幕围绕一圈

时间2023-11-13 07:28:02发布访客分类CSS浏览550
导读:CSS中的transform属性可以实现许多奇妙的效果,其中有一种非常有趣的效果就是让屏幕围绕一圈转动。/* 为了实现这个效果,我们需要用到以下属性: */.container { position: fixed; /* 固定元素位置 *...

CSS中的transform属性可以实现许多奇妙的效果,其中有一种非常有趣的效果就是让屏幕围绕一圈转动。

/* 为了实现这个效果,我们需要用到以下属性: */.container {
      position: fixed;
     /* 固定元素位置 */  top: 50%;
     /* 元素垂直居中 */  left: 50%;
     /* 元素水平居中 */  transform: translate(-50%, -50%) rotate(calc(var(--deg) * 1deg));
     /* 将元素旋转var(--deg)度 */  transform-origin: center;
 /* 旋转中心为元素中心 */}

以上是需要给容器元素添加的样式,其中需要解释的是calc()函数和var()函数。

/* calc()函数可以计算数学表达式,这里可以用它计算旋转角度: */.rotate {
      --deg: 360 / 8;
     /* 这里假设有8个内容块,得到每个块需要旋转的角度 */  transform: rotate(calc(var(--deg) * 1deg));
}
/* var()函数可以引用变量,在这个例子中,它引用了--deg变量: */.container {
      transform: translate(-50%, -50%) rotate(calc(var(--deg) * 1deg));
}

因为这个效果需要多个内容元素,并且需要让它们围绕圆心旋转,所以需要用到弧形布局。

/* 弧形布局可以通过设置每个元素的角度来实现,例如: */.container {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
}
.item {
      position: absolute;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background-color: #f0f;
  transform: rotate(calc(var(--deg) * 1deg)) translateY(-${
circleR}
    px);
}
    

在以上代码中,设置了每个元素的宽度、高度、圆角、颜色和位置,需要注意的是,每个元素需要设置绝对定位,否则它们会堆叠在一起。

最终效果如下所示:

https://codepen.io/Jane-Yang/pen/wvgEGOw

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: css怎么做屏幕围绕一圈
本文地址: https://pptw.com/jishu/537096.html
css怎么做密码判断 css怎么做圆形框

游客 回复需填写必要信息