用CSS3实现惊艳面试官的背景及背景动画(建议收藏)

制作一个简单HTML中华传统文化网页(HTML+CSS) 📔网站布局方面计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。📓网站程序方面计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站的效果。📘网站素材方面计划收集各大平台好看的图片素材,并精挑细选适合网页风格的图片,然后使用PS做出适合网页尺寸的图片。📒网站文件方面网站系统文件种类包含html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件;... 阅读详情

我们传统的前端更多的是用 JavaScript 实现各种复杂动画,自从有了CSS3 transition 和 animation 以来,前端开发在动画这一块有了更高的自由度和格局,对动画的开发也越来越容易。这篇文章就让我们汇总一下使用 CSS3 实现的各种特效。

这篇文章参考《CSS揭秘》这本书,并作出了自己的总结,希望能让大家更有收获,也强烈推荐大家看看这本书,你值得拥有。我们将学到

  • CSS3

  • outline

  • radial-gradient

  • linear-gradient

  • box-shadow

1.实现内部虚线边框

知识点:outline

fb5008222d9619bc345397b8e0b03f9c.jpeg

核心代码


 
.dash-border{
    width: 200px;
    height: 100px;
    line-height: 100px;
    outline: 1px dashed #fff;
    outline-offset: -10px;
}

2.边框内圆角的实现

知识点:box-shadow

4b5c455d00eb6b719808e085f6be78ef.jpeg

核心代码


 
.radius-border{
    margin-top: 20px;
    width: 180px;
    height: 80px;
    box-shadow: 0 0 0 10px gray;
}

3.实现条纹背景与进度条

知识点:linear-gradient,repeating-linear-gradient

e222f01662c6aa4337509d6286752d5b.jpeg

核心代码


 
/* 上 */
background: linear-gradient(to right,#fb3 50%,#58a 0);
background-size: 40px 100%;
box-shadow: inset 0 0 3px #555;


/* 中 */
background: linear-gradient(45deg,#fb3 25%,#58a 0,#58a 50%,#fb3 0,#fb3 75%,#58a 0);
background-size: 40px 40px;


/* 下 (可以实现任意角度的渐变,45°时显示效果最好) */
background: repeating-linear-gradient(60deg,#fb3,#fb3 15px,#58a 0,#58a 30px);

4.复杂的背景图案

知识点:linear-gradient,repeating-linear-gradient,radial-gradient

bfaa72e8e8be96da8809f2947c150c40.jpeg

由于第二个图会有复杂的随机动画,建议大家可以亲自尝试看看效果,核心代码


 
<style>
.bg-grid{
    margin-top: 20px;
    width: 200px;
    height: 200px;
    background-image: linear-gradient(rgba(255,255,255,1) 2px,transparent 0),
    linear-gradient(to right,rgba(255,255,255,1) 2px,transparent 0),
    linear-gradient(rgba(255,255,255,.2) 1px,transparent 0),
    linear-gradient(to right,rgba(255,255,255,.2) 1px,transparent 0);
    background-position: -50px -50px;
    background-size: 100px 100px,100px 100px, 100% 10px, 10px 100%;
}
.animate-grid{
    animation: move-grid 6s linear infinite;
}
@keyframes move-grid{
    0%{
      background-position: -50px -50px;
    }
    30%{
      background-position: -100px -100px;
    }
    60%{
      background-position: -100px -150px;
    }
    100%{
      background-position: -50px -50px;
    }
}
</style>
<div class="bg-grid black-theme"></div>
<div class="bg-grid black-theme animate-grid"></div>
红绿灯以及红路灯随机运动动画
71b076ce2d1423c22e48ad81642974c2.jpeg

利用 CSS3 多背景和 position 实现红绿灯和背景色块移动

核心代码


 
<style>
.bg-dot{
    margin-top: 20px;
    width: 200px;
    height: 50px;
    background-image: radial-gradient(circle,#0cf 15px,transparent),
                    radial-gradient(circle,red 15px,transparent),
                    radial-gradient(circle,yellow 15px,transparent),
                    radial-gradient(circle,green 15px,transparent);
    background-repeat: no-repeat;
    background-position: 0 0, 50px 0, 100px 0, 150px 0, 200px 0;
    background-size: 50px 50px;
}
.animate-dot{
    animation: move-dot 8s linear infinite;
}
.animate-dot2{
    animation: move-dot2 6s linear infinite;
}
@keyframes move-dot{
    0%{
      background-position: 0 0, 50px 0, 100px 0, 150px 0;
    }
    30%{
      background-position: 50px 0, 0 0, 100px 0, 150px 0;
    }
    60%{
      background-position: 50px 0, 100px 0, 0 0, 150px 0;
    }
    100%{
      background-position: 50px 0, 100px 0, 150px 0, 0 0;
    }
}
@keyframes move-dot2{
    0%{
      background-image: radial-gradient(circle,#0cf 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent);
    }
    30%{
      background-image: radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,red 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent);
    }
    60%{
      background-image: radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,yellow 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent);
    }
    100%{
      background-image: radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,gray 15px,transparent),
                      radial-gradient(circle,green 15px,transparent);
    }
}
</style>
<div class="bg-dot black-theme animate-dot"></div>
<div class="bg-dot black-theme animate-dot2"></div>
棋盘背景以及棋盘背景随机动画
edfc9253b311568518a1f4082db03a9d.jpeg

利用背景渐变实现棋盘图案

核心代码


 
<style>
.bg-qi{
    margin-top: 20px;
    width: 200px;
    height: 200px;
    background-color: #eee;
    background-image: linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 0,transparent 75%,rgba(0,0,0,.25) 0),
    linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 0,transparent 75%,rgba(0,0,0,.25) 0);
    background-position: 0 0, 20px 20px;
    background-size: 40px 40px;
    box-shadow: 2px 2px 4px rgba(0,0,0,.4);
}
</style>
<div class="bg-qi black-theme"></div>
伪随机背景
e7a35aba5708a84f053c0963e902de19.jpeg

利用背景渐变,keyframe 动画,实现复杂的伪随机动画

核心代码


 
<style>
.bg-line-rand{
    margin-top: 20px;
    width: 480px;
    height: 60px;
    background-color: #eee;
    background-image: linear-gradient(90deg,#fb3 11px, transparent 0),
                      linear-gradient(90deg,#ab4 23px, transparent 0),
                      linear-gradient(90deg,#655 41px, transparent 0);
    background-size: 41px 100%, 61px 100%, 83px 100%;
    box-shadow: 2px 2px 4px rgba(0,0,0,.4);
}
.bg-dot-rand{
    margin-top: 20px;
    width: 200px;
    height: 200px;
    background-color: #eee;
    background-image: radial-gradient(circle,#fb3 5px, transparent 0),
                      radial-gradient(circle,#ab4 13px, transparent 0),
                      radial-gradient(circle,#655 31px, transparent 0);
    background-repeat: no-repeat;
    background-size: 101px 203px, 147px 60px, 373px 201px;
    box-shadow: 2px 2px 4px rgba(0,0,0,.4);
}
.animate1{
    animation: move 4s linear infinite;
}
.animate2{
    animation: move2 4s linear infinite;
}
@keyframes move{
    0%{
      background-position: 0 0, 0 0, 0 0;
    }
    50%{
      background-position: -10px 0, 20px 0, 30px 0;
    }
    100%{
      background-position: 0 0, 30px 0, 10px 0;
    }
}
@keyframes move2{
    0%{
      background-position: 0 0, 0 0, 0 0;
    }
    50%{
      background-position: -10px 30px, 20px 0, -40px 80px;
    }
    100%{
      background-position: 0 20px, 60px -20px, 10px 30px;
    }
}
</style>
<div class="bg-line-rand black-theme"></div>
<div class="bg-line-rand black-theme animate1"></div>
<div class="bg-dot-rand black-theme animate2"></div>

5.折角效果

知识点:linear-gradient

db9f8ff6cceb9b3e46e31cb5b2f8d17e.jpeg

核心代码


 
<style>
.fold{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 200px;
    height: 80px;
    color: #fff;
    line-height: 80px;
    text-align: center;
    background: linear-gradient(to left bottom,transparent 50%,rgba(0,0,0,.5) 0) no-repeat 100% 0 / 2em 2em,
                linear-gradient(-135deg,transparent 1.4em,#06c 0);
}
.linear{
    background: linear-gradient(to left bottom,transparent 50%,rgba(0,0,0,.5)) no-repeat 100% 0 / 2em 2em,
                linear-gradient(-135deg,transparent 1.4em,#06c);
}
</style>
<div class="fold">折角效果哦</div>
<div class="fold linear">折角效果哦</div>
2.内阴影圆折角效果
d2ac14c7fc75a4a517dffef52a34a776.jpeg

核心代码


 
<style>
.fold-1{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    position: relative;
    width: 200px;
    height: 80px;
    border-radius: .5em;
    color: #fff;
    line-height: 80px;
    text-align: center;
    background: linear-gradient(-150deg,transparent 1.5em, #58a 0);
}
.fold-1::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(to left bottom,transparent 50%,rgba(0,0,0,.2) 0,rgba(0,0,0,.4)) 100% 0 no-repeat;
    width: 1.73em;
    height: 3em;
    transform: translateY(-1.3em) rotate(-30deg);
    transform-origin: bottom right;
    border-bottom-left-radius: inherit;
    box-shadow: -.2em .2em .3em -.1em rgba(0,0,0,.15);
}
</style>
<div class="fold-1">折角效果哦</div>

6.自适应文本的条纹背景

知识点:linear-gradient,line-height,background-origin

075522e4450d84785c6767a91e39d53d.jpeg

核心代码


 
<style>
.stripe-bg{
    padding: .5em;
    line-height: 1.5em;
    background: beige;
    background-size: auto 3em;
    background-origin: content-box;
    background-image: linear-gradient(rgba(0,0,0,.2) 50%, transparent 0);
}
.stripe-bg > p{
    margin: 0;
}
</style>
<div class="stripe-bg">
    <p>hello you</p>
    <p>hello you</p>
    <p>hello you</p>
    <p>hello you</p>
    <p>hello you</p>
</div>

7.自定义的下划线实现

知识点linear-gridient

dbb0e4bfe1a7ddca66589055b6f47914.jpeg

小伙伴们注意到了吗?默认的下划线会将文字穿过,而上面的不会呦!

核心代码


 
<style>
.my-line{
    line-height: 1.4em;
    background: linear-gradient(gray,gray) no-repeat;
    background-size: 100% 1px;
    background-position: 0 1.15em;
    text-shadow: .05em 0 #fff, -.05em 0 #fff;
}
</style>
<div>
  <span class="my-line">i have your big apple.you have a too? hi hi hi.</span>
</div>

热门阅读:

前端这些年我到底经历了什么(上)

前端这些年我到底经历了什么(下)

React Native 混合开发与实现

294c5bc2c263094cef06e19679b92a19.jpeg

如果你觉得文章不错,请点下「在看」哦~

CSS 3.0实现泼墨画 给大家分享一个用CSS 3.0实现的泼墨画,效果如下: 以下是代码实现,欢迎大家复制、粘贴和收藏。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS 3.0实现泼墨画</ 阅读详情

相关推荐

CSS3文字底纹背景动画特效实现指南

CSS的background属性是一个复合属性,它允许开发者对元素的背景进行丰富的控制。它可以设置背景颜色、背景图片、背景图片的位置、背景图片的重复方式以及背景图像是否固定或滚动等。在CSS2中,background属性包含了多个子属性,但在CSS3中,它得到了进一步的扩展和简化,以适应更加复杂的视觉效果。在基本语法中,开发者可以通过一行CSS代码设置所有背景相关的属性,如下所示:selector {在这个简写属性中,开发者可以指定一个背景颜色color,背景图片image。

weixin_29476595的博客 671

使用CSS3动画做了四个小案例

box-shadow: none | inset(可选值,不设置,为外投影,设置,为内投影) x-offset(阴影水平偏移量,正方向为right) y-offset(阴影垂直偏移量,正方向为bottom) blur-然后我们可以来设置她的高可以使用vh,(是指可视窗口的高度。3. Y-offset:是指阴影的垂直偏移量,其值也可以是正负值,正值,阴影在对象的底部,负值时,阴影在对象的顶部。2.X-offset:是指阴影水平偏移量,其值可正可负,正值,则阴影在对象的右边,负值,阴影在对象的左边。

weixin_64965154的博客 2055

CSS3实现逼真的3D星空背景动画特效

CSS3实现3D星空背景动画特效是一款逼真的网页背景繁星点点星空动画特效代码。

css3 动态背景

2. 定义容器渐变背景并应用动画 3. 完整代码 4. 更多渐变效果参考 https://color.oulu.me/

qq_26414343的博客 899

从零开始搭建企业级安全扫描平台:基于Docker的Greenbone和ClamAV部署指南

本文提供了一份基于Docker容器技术,从零开始搭建企业级安全扫描平台的实战指南。详细介绍了如何部署和集成漏洞扫描工具Greenbone与病毒扫描工具ClamAV,涵盖架构设计、Docker环境优化、容器化部署步骤以及平台集成与监控方案,帮助企业构建自动化、可扩展的安全防御核心组件。

delta的博客 755

UE4 专用服务器搭建(UE4.27为例)

专用服务器、DS服务器

mimo134的博客 2774

catia圆角交点如何标注_巧用css圆角实现有点意思的加载动画

作为一名前端工程师, 需要对css技巧有充分的研究和了解, 接下来笔者将会带大家一起掌握如何用css的圆角属性来实现有点意思的加载动画. 如果想学习更多css实用技巧, 可以参考笔者以下的文章: 手撸一个在线css三角形生成器​zhuanlan.zhihu.com徐小夕:如何使用纯css3打造有点意思的故障艺术(附React/Vue加强组件版)​zhuanlan.zhihu.comcss的bord...

weixin_31579367的博客 175

从零理解Brep:用Python玩转3D建模的边界表示法(附OpenCASCADE示例)

本文深入解析了边界表示法(Brep)在3D建模中的应用,通过Python和OpenCASCADE的实战示例,详细介绍了Brep的核心数据结构、布尔运算、网格转换及3D打印优化技巧。适合CAD设计、3D打印和计算机图形学领域的开发者学习与实践。

n4o5p6q7r的博客 425

如何在CSS3中使用多个背景和动画

Multiple backgrounds with CSS3 and a little of animation. In CSS3 appear new possibility to use multiple backgrounds for the objects, in our new article I will demonstrate how to do it. And, I going t...

cukeoumuqian0413的博客 466

准静态电磁场

叠加法 缺点:对于连续分布的电荷,叠加法的计算比较困难 虚位移法 概念 广义坐标:确实系统中导体形状、尺寸与位置的一组独立几何量。 广义力:企图改变某一广义坐标的力。 功:广义力乘上由它引起的广义坐标的改变量。 公式 ...

qq_35912930的博客 1860

分享6款文字语音生成驱动虚拟数字人说话的开源项目

对定性和定量结果的大量实验表明,我们的算法实现了高质量的照片真实感对话头部视频,包括根据语音节奏进行的各种面部表情和头部运动,并超过了最先进的水平。我们的系统包含三个阶段。当然,FACEGOOD Audio2face 部分也可根据自己的喜好进行重新训练,比如你想用自己的声音或其它类型的声音,或者不同于 FACEGOOD 使用的模型绑定作为驱动数据,都可以根据下面提到的流程完成自己专属的动画驱动算法模型训练。兼顾生成的韵律和外表的相似,除了面部,考虑到了头部的动作,虑了背景区域的artifact。

南七小僧的学海无涯 3048

【css】css动画实现的3种方式

css实现动画主要有3种方式,①、transition实现过渡动画,②、transform转变动画,③、animation实现自定义动画。

t13965688123的博客 1万+

2025年软件测试职业院校技能大赛—ERP管理平台-基础信息管理商品管理测试用例

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 321

如何利用html+css动画 实现水墨动画?

<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>CSS3水墨风格背景动画按钮DEMO演示</title> <style> :root{ --height:100px; --width:200px; } *{ margin:0; padding:0; box-...

nx990715的博客 1375

SI好文翻译:铜箔表面纹理对损耗的影响:一个有效的模型(一)

Paul G. Huray发表在DesignCon2010的提出铜箔表面雪球模型的论文。第一部分说明之前的铜箔表面模型只适用于5GHz以内,超过5GHz后就不再准确。

小孟同学的博客 2169

YOLOv11改进 | 缝合CCFM轻量检测模型实现高精度跨尺度特征融合【附参考代码】

YOLOv11作为一代优秀的端到端目标检测模型,已经在速度和精度之间取得了较好的平衡。但其默认的Neck结构(通常为FPN + PAN)在处理小目标与多尺度信息时,仍存在信息流冗余、跨尺度特征融合不充分等问题。 本文提出一种轻量化的跨尺度跨通道融合模块(CCFM, Cross-scale and Cross-channel Fusion Module),以替代或增强YOLOv11中的Neck部分,有效提升特征表达能力和检测性能,尤其是在小目标和复杂场景下取得显著涨点。

一键难忘的博客 1412

css3蓝色透明水滴背景样式文字js特效

一款纯css3实现的蓝色透明水滴背景样式文字特效,两颗透明的水滴非常逼真。

ICode联盟 206

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

css3水墨遮罩,CSS3水墨风格带音乐动画图特效

一款CSS3中国风水墨动画效果,文字陪有声朗读,同步!使用方法页面需要用到的CSS3样式*{padding: 0;margin: 0;}#box{width: 100%;height: 100%;position: relative;animation: run1 8s;}@keyframes run1{from{opacity: 0;}to{opacity: 1;}}#box img.bj{wi...

weixin_36487530的博客 785

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Css3 设置背景 设置动画

选择器的使用,利用border-radius属性将矩形调整为其他图形,利用box-shadow给图形附加内阴影或外阴影,使用filter给图片附加滤镜属性,学到10种滤镜的用法和区别,在使用多个滤镜时,用空格隔开。 笔记 CSS3 CSS3选择器 属性选择器 等于 开头^ 结束$ 包含* 连字符(~) 针对一个元素的同一个父级节点的所有兄弟级别元素(排在元素下面的) 伪类选择器 f...

qq_40571091的博客 1069

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

css3炫酷环形背景动画

下载地址 很酷的网页背景动画效果,css3环形飞入的特效。 dd:

ICode联盟 447

CSS3的一些动画展示

1. 了解‘过渡’ 2D转换2. 案例1. 1当用户将鼠标悬停在类为.box元素的泡泡背景上时,背景图像的位置会发生变化,并且这种变化会在 2 秒内平滑过渡。背景图像在鼠标悬停时移动,给人一种动态的视觉体验。十分丝滑,且简单。这段代码的总体效果是,我们将鼠标悬停在页面的任意位置时,位于左下角的小火煎会平滑地移动到右上角并旋转30°,同时背景颜色保持不变。

2401_86340568的博客 2233

CSS3动画,变形及背景

动画 animation-name: 要对当前元素生效的关键帧的名字 animation-name: test; animation-duration: 动画的执行时间 animation-duration: 4s; animation-delay:动画的延时 animation-delay: 2s; nimation-iteration-count 动画执行的次数 可选值: 次数 infinite 无限执行 animation-iteration-count: 1; anima

weixin_46221319的博客 724

5、css3 自动动画渐变背景

效果例图:(因gif图片太大,而csdn只能上传小于5m图片,所以无法上传)

cyz141001的博客 634

html背景图片动画,用CSS3的animation轻松实现背景动画:漂浮的云

背景动画如果用的恰当,会给网页带来意想不到的效果。在过去,我们只能用flash或Javascript来实现。幸运的是,CSS3的流行使得我们完全可以使用它来实现这种效果,不再依赖其它编程技术。一段简单的CSS代码就能轻而易举的达到下面的效果。慢悠悠的云CSS代码这种背景动画是通过移动背景图的位置实现的,这里没有使用CSS3的transition,而是用animation。@keyframes an...

weixin_39540315的博客 1701

CSS3背景颜色变化、平移的动画效果

CSS3动画:变换颜色和平移 开发工具与关键技术:DW-CSS3动画+关键帧 作者:徐晶旗 撰写时间:2019年1月18日 1.首先我在html中建立一个div标签,加上一个class的类,给它的类命名为“home”,再到这个标签里面建立一个相同的div标签,它的类命名为“happy”,里面再建立一个小的div标签,表示一个大的盒子包裹着一个小的盒子,小的盒子里面又嵌套了一个元素。 2.然后...

weixin_44543252的博客 2万+

CSS3 动画相关属性实例大全(一)(@keyframes ,background属性,border 属性)

CSS3 动画相关属性实例大全(1)(@keyframes ,background属性,border 属性)

逆境清醒的博客 2710
上一篇: 前端薪资调查,你属于哪一级别?
下一篇: 最熟悉的陌生人:5分钟快速理解 HTTP2
劳卜
博客等级 码龄10年 5粉丝 23原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值