第97天:CSS3渐变和过渡详解

简介: 一、渐变渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。可分为线性渐变、径向渐变1、 线性渐变 (gradient 变化)  linear-gradient线性渐变指沿着某条直线朝一个方向产生渐变效果。

一、渐变

渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。

可分为线性渐变、径向渐变

1、 线性渐变 gradient 变化)

  linear-gradient线性渐变指沿着某条直线朝一个方向产生渐变效果。

    linear-gradient:方向起始颜色终止颜色
方向:to left/ to right / to top

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>渐变</title>
 6     <style>
 7         div{
 8             width: 1000px;
 9             height: 100px;
10             margin: 30px auto;
11             border:1px solid #000;
12         }
13         /*linear-gradient:方向 起始颜色 终止颜色*/
14         /*方向:to left to right  to top*/
15         div:nth-child(1){
16             background-image: linear-gradient(to right,yellow,green);
17         }
18         /*不写方向,默认从上到下*/
19         div:nth-child(2){
20             background-image: linear-gradient(yellow,green);
21         }
22         /*方向可以写角度 deg*/
23         div:nth-child(3){
24             width: 100px;
25             height: 100px;
26             background-image: linear-gradient(45deg,yellow,green);
27         }
28         /*用百分比控制渐变的范围*/
29         div:nth-child(4){
30             background-image: linear-gradient(to right,yellow 0%,red 40%,blue 100%);
31         }
32         /*颜色突变*/
33         div:nth-child(5){
34             background-image: linear-gradient(45deg,yellow 0%,yellow 25%,blue 25%,blue 50%,red 50%,red 75%,green 75%,green 100%);
35         }
36         div:nth-child(6){
37             background-image: linear-gradient(135deg,
38             #000 0%,
39             #000 25%,
40             #fff 25%,
41             #fff 50%,
42             #000 50%,
43             #000 75%,
44             #fff 75%,
45             #fff 100%);
46             background-repeat: repeat;
47             background-size: 100px 100%;
48         }
49     </style>
50 </head>
51 <body>
52     <div></div>
53     <div></div>
54     <div></div>
55     <div></div>
56     <div></div>
57     <div></div>
58 </body>
59 </html>

运行效果:

 

2、径向渐变

radial-gradient径向渐变指从一个中心点开始沿着四周产生渐变效果

 

  1、必要的元素:

 

    a辐射范围即圆半径  (半径越大,渐变效果越大)

 

    b中心点 即圆的中心  (中心点的位置是以盒子自身)

 

    c、渐变起始色

 

    d、渐变终止色

 

  2、关于中心点:中心位置参照的是盒子的左上角

 

  3、关于辐射范围:其半径可以不等,即可以是椭圆

 

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>径向渐变</title>
 6     <style>
 7         div{
 8             width: 200px;
 9             height: 200px;
10             border:1px solid #000;
11             margin: 20px 20px;
12             float: left;
13         }
14 
15         /* 径向渐变:
16         radial-gradient(辐射半径,中心的位置,起始颜色,终止颜色)
17         中心点位置:at left right center bottom top*/
18         div:nth-child(1){
19             background-image: radial-gradient(at left top,red,blue);
20         }
21         div:nth-child(2){
22             background-image: radial-gradient(at 50px 50px,red,blue);
23         }
24 
25         /* 在at前可加辐射半径*/
26         div:nth-child(3){
27             background-image: radial-gradient(100px at 50px 50px,red,blue);
28         }
29 
30         /*多个颜色渐变*/
31         div:nth-child(4){
32             background-image: radial-gradient(at 50px 50px,red 10%,blue 60%,yellow 75%);
33         }
34 
35         /*椭圆渐变*/
36         div:nth-child(5){
37             background-image: radial-gradient(at 50px 100px,red 10%,blue 60%,yellow 75%);
38         }
39 
40         /*球体 用rgba控制透明度,实现立体效果*/
41         div:nth-child(6){
42             border-radius: 50%;
43             border: 0;
44             background-color: blue;
45             background-image: radial-gradient(at 80px 80px,rgba(0,0,0,0),rgba(0,0,0,0.6) );
46         }
47         
48     </style>
49 </head>
50 <body>
51     <div></div>
52     <div></div>
53     <div></div>
54     <div></div>
55     <div></div>
56     <div></div>
57 
58 </body>
59 </html>
运行效果:

 

 二、过渡(transition)

  1、Transition:param1  param2

  param1    要过渡的属性

  param2    过渡的时间.

  过渡是CSS3中具有颠覆性的特征之一,可以实现元素不同状态间的平滑过渡(补间动画),经常用来制作动画效果。

  补间动画:自动完成起始状态到终止状态的的过渡。不用管中间的状态

  帧动画:扑克牌切换.通过一帧一帧的画面按照固定顺序和速度播放。如电影胶片

  特点:当前元素只要有“属性”发生变化时,可以平滑的进行过渡。

 1 .box{
 2             width: 200px;
 3             height: 200px;
 4             border:1px solid #000;
 5             margin: 100px auto;
 6             background-color: red;
 7             /*transition: width 2s,background-color 2s;*/
 8             /*如果多个过渡的特效相同,可以简写,过渡必须加给盒子本身*/
 9             /*transition:过渡属性,过渡时间,速度曲线(linear匀速),延迟时间*/
10             transition: all 2s linear 1s;
11         }
12 
13         /*过渡属性*/
14         .box:hover{
15             width: 600px;
16             background-color: blue;
17         }

 

2、 过渡属性

  •   transition-property设置过渡属性
  •   transition-duration设置过渡时间 用来控制速度linear(匀速)
  •   ease(减速) / ease-in(加速) / ease-out(减速) / ease-in-out(先加速后减速)
  •   transition-timing-function设置过渡速度  
  •   transition-delay设置过渡延时  超过时间后执行动画.
如果所有属性都过渡,可以使用transition-property:all;
 1  .box{
 2             width: 200px;
 3             height: 200px;
 4             background-color: red;
 5             margin: 100px auto;
 6 
 7             /*过度属性详解*/
 8             transition-property: width;/*过度属性*/
 9             transition-duration: 2s;/*过渡持续时间*/
10             transition-timing-function: linear;/*运动曲线 linear 线性*/
11            /* transition-timing-function: ease(减速)/ease-in(加速)/ease-out(减速)/ease-in-out(先加速后减速);*/
12 
13             /*过渡延迟*/
14             transition-delay: 1s;
15             /*如果所有属性都过渡,可以使用transition-property:all;*/
16 
17         }
18         .box:hover{
19             width: 600px;
20         }

 

 

 

相关文章
|
Web App开发 前端开发 iOS开发
css 渐变
1. 线性渐变: 从上至下 #grad { background: -webkit-linear-gradient(red, blue); /* Safari 5.
1058 0
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
1月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。
|
14天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
64 6
|
1月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML与CSS之旅
【9月更文挑战第31天】在这个数字时代,拥有一个个人博客网站是展示自我、分享知识和连接世界的重要方式。本文将引导你通过简单的HTML和CSS知识,一步步构建起你的在线空间。无论你是编程新手还是希望通过实践加深理解,这篇文章都将是你的理想指南。我们将探索基本概念,实现页面布局,并点缀以个性化样式,最终将静态页面转变为动态交互式网站。准备好了吗?让我们开始吧!
|
2月前
|
前端开发 数据安全/隐私保护 容器
HTML+CSS 水滴登录页
该代码实现了一个创意的水滴登录页面,包含一个水滴形状的登录框与两个按钮(忘记密码和注册)。登录框包括用户名、密码输入框及登录按钮。页面设计独特,采用渐变色与动态效果,增强了交互性和视觉美感。以下为关键实现步骤: - 重置默认样式。 - 设置页面背景颜色和尺寸。 - 定义登录表单容器的布局、位置和尺寸。 - 设置登录表单内容样式,包括3D效果和过渡动画。 - 创建伪元素增强水滴效果。 - 设定输入框容器和输入框样式。 - 为提交按钮、忘记密码和注册按钮设定特定样式,并添加悬停效果。
|
2月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
前端开发 JavaScript
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!