创意CSS合辑一:轻松实现多种有趣效果

2023-12-18 15:47:03 浏览数 (1)

作为一个频繁对博客进行改进的人,我深知花里胡哨的CSS效果对于吸引读者尤为重要。在这里,我汇总了一些炫酷的CSS效果,并提供了简要的预览和实现思路,以方便那些不太熟悉的朋友也能轻松上手。同时,我会持续寻找优秀的效果,逐步添加到博客中,其中部分资源来自网络。

相信有了以下示例,很多不会css动画效果的朋友,也就会了

列表文字图标

实现思路:

  1. 主要看css部分,先固定 span 标签宽高为,圆角 50%,然后设定行高,让字符垂直居中;
  2. 设定 overflow: hidden,限制字符溢出;
  3. 然后设定 letter-spacing: 200px,让字符间距变大,不让第二个字符显示到span中;
  4. 然后设定 text-indent: 12px,来让第一个字符居中。
HTML部分
代码语言:javascript复制
    04 第一个字符串生成文字图标


    
        
          第一个字符串生成文字图标第一个字符串生成文字图标
          用CSS可以做什么?用CSS可以做什么?
          前端的致命诱惑前端的致命诱惑
css部分
代码语言:javascript复制
*{
    margin: 0;
    padding: 0;
    list-style: none;
    transition: .5s;
}
html,body{
    background-color: #f5f5f5;
    color: #fff;
    font-size: 14px;
}
.app{
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.app ul {
  max-width: 300px;
}
.app ul li{
  width: 100%;
  color: #152239;
  font-size: 16px;
  line-height: 42px;
  margin: 15px 0;
  float: left;
}
.app ul li span{
  width: 42px;
  height: 42px;
  line-height: 40px;
  color: #1E47ED;
  font-size: 18px;
  font-weight: 700;
  text-indent: 12px;
  border-radius: 50%;
  display: block;
  float: left;
  overflow: hidden;
  background-color: #eaeaea;
  letter-spacing: 20px;
  margin-right: 15px;
}

呼吸灯效果

实现思路:

  1. 写出三个圆,class 分别为 .red、.green、.blue
  2. css 部分主要使用 animation 来实现边框及其阴影的大小变化,和其透明度的变化
  3. 这个效果可以用作在网站的整体 Loading,也可以放在网站首屏当一个 banner 的背景也是非常棒的!
Html部分
代码语言:javascript复制
    好看的呼吸灯效果
css部分
代码语言:javascript复制
*{
  margin:0;
  padding: 0;
}
body,html{
  background-color: #000;
}
.app{
  width:100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
span{
  width: 60px;
  height: 60px;
  margin: 40px;
  border-radius: 50%;
}
.red{
  animation: just1 2s ease-in-out infinite alternate;
}
.green{
  animation: just2 3s ease-in-out infinite alternate;
}
.blue{
  animation: just3 4s ease-in-out infinite alternate;
}
@keyframes just1{
  0%{
    border: 5px solid rgba(255,0,0,0);
    box-shadow: 0 0 0 rgba(255,0,0,0),0 0 0 rgba(255,0,0,0) inset;
  }
  100%{
    border: 5px solid rgba(255,0,0,1);
    box-shadow: 0 0 70px rgba(255,0,0,0.7),0 0 15px rgba(255,0,0,0.5) inset;
  }
}
@keyframes just2{
  0%{
    border: 5px solid rgba(0,255,0,0);
    box-shadow: 0 0 0 rgba(0,255,0,0),0 0 0 rgba(0,255,0,0) inset;
  }
  100%{
    border: 5px solid rgba(0,255,0,1);
    box-shadow: 0 0 70px rgba(0,255,0,0.7),0 0 15px rgba(0,255,0,0.5) inset;
  }
}
@keyframes just3{
  0%{
    border: 5px solid rgba(0,0,255,0);
    box-shadow: 0 0 0 rgba(0,0,255,0),0 0 0 rgba(0,0,255,0) inset;
  }
  100%{
    border: 5px solid rgba(0,0,255,1);
    box-shadow: 0 0 70px rgba(0,0,255,0.7),0 0 15px rgba(0,0,255,0.5) inset;
  }
}

动态毛玻璃

实现思路:

  1. 两个圆形 div(.circle),以及模糊块(.bg-filter)
  2. 使用animation 属性以及不同的参数来实现动效,产生动画视觉效果
  3. 用 backdrop-filter 属性中的 blur 参数来模拟毛玻璃效果,数值越大,模糊效果越重,可适当调试参数,直到你喜欢为止
  4. 此效果可适用于登录窗口,网站背景或者一些卡片列表中,使网页更具科技感和空间感。

Html部分

代码语言:javascript复制
    动态的毛玻璃背景

css部分

代码语言:javascript复制
.app{
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.box{
  width: 400px;
  height: 300px;
  position: relative;
}
.circle-box{
  width: 100%;
  height: 100%;
  border-radius: 10px;
  position: absolute;
  overflow: hidden;
}
.circle:first-child{
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 30px solid #7BF52A;
  box-sizing: border-box;
  position: absolute;
  top: -38px;
  left: -40px;
  animation: move-y 3.5s linear infinite;
}
.circle:last-child{
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(136deg, #7BF52A 0%, #FFCD56 100%);
  box-sizing: border-box;
  position: absolute;
  bottom: -30px;
  right: -30px;
  animation: move-y 5s ease-in-out infinite;
}
.bg-filter{
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,.05);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  backdrop-filter: blur(6px);
  border-radius: 10px;
  box-sizing: border-box;
  position: absolute;
}
@keyframes move-y {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-16px);
  }
  100% {
    transform: translateY(0);
  }
}

图片因为上传后格式转换了,这篇就分享这几个,后面会再分享

0 人点赞