前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创意CSS合辑一:轻松实现多种有趣效果

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

作者头像
老K博客
发布2023-12-18 15:47:03
2220
发布2023-12-18 15:47:03
举报
文章被收录于专栏:老K博客

作为一个频繁对博客进行改进的人,我深知花里胡哨的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);
  }
}

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年10月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列表文字图标
  • 实现思路:
  • 呼吸灯效果
  • 实现思路:
  • 动态毛玻璃
  • 实现思路:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档