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

一、渐变

渐变是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         }

 

时间: 2024-10-17 01:27:50

第97天:CSS3渐变和过渡详解的相关文章

CSS3的@keyframes用法详解:

CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes翻译成中文,是"关键帧"的意思,如果用过flash应该对这个比较好理解,当然不会flash也没有任何问题.使用transition属性也能够实现过渡动画效果,但是略显粗糙,因为不能够更为精细的控制动画过程,比如只能够在指定的时间段内总体控制某一属性的过渡,而animation属性则可以利用

CSS3中REM使用详解

在页面中设置字体,我们知道有常见的两种,px 和 em. px 在Web页面制作中,我们一般使用"px"来设置我们的文本,因为他比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小(虽然一般人不会去改变浏览器字体大小),这时会使用我们的Web页面布局被打破,这时就提出了使用"em"来定义Web页面的字体. em 一般都是body的font-size为基准常用写法: 01 02 03 04 05 06 07 0

【二次元的CSS】—— 用 DIV + CSS3 画咸蛋超人(详解步骤)

[二次元的CSS]—— 用 DIV + CSS3 画咸蛋超人(详解步骤) 2016-05-17 HTML5cn 仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各部位的形状,当然也不会使用任何图片哦.那就没意思了. 有的同学说,用canvas不是能画得更逼真而且更简单吗?这点我也非常赞同,但我的理由还是,那就没意思了. 这次写的详细一点,把各个部位都拆出来分析. 第一步:头部轮廓 <header></header> .ultraman header

CSS3伪类选择器详解

前面花了两节内容分别在<CSS3基本选择器>和<CSS3属性选择器详解>介绍了CSS3选择器中的基本选择器和属性选择器使用方法,今天要和大家一起学习CSS3选择器中的第三部分,也是最后一部分——伪类选择器.伪类选择器对于大家来说最熟悉的莫过于:link,:focus,:hover之类的了,因为这些在平时中是常用到的伪类选择器,那么先和大家一起简单总结一下CSS中常用的伪类选择器的使用方法,最后把重心放到CSS3新增加的":nth-child"选择器的使用方法.

CSS3新增属性text-shadow详解及燃烧的字体实战开发

今天我们有很多程序员在给文本设置样式时,都感觉无从下手.一般有两种情况: 1) 不知道关于文本到底有哪些样式属性: 2) 即使借助开发工具的自动提醒,依然不清楚样式属性的具体意思,以及具体用法. 今天这篇文章,我将带领大家一起来领受CSS3在文本样式应用方面的超强能力.通过精彩的实例,来使大家重新认识CSS3文本样式,真心希望大家通过此篇文章,即使不能做到精通CSS3的文本样式的应用,也会做到熟练应用. 实例: 如何利用CSS3制作燃烧的字体? 以前,如果我们网页上想要显示一个燃烧着的文本,大家

玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]

1.博客背景 在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素不太了解,介于画图和CSS3里一些高大上的特效用的比较广泛的伪类元素就是::before 和 ::after, 写这篇博客主要也是为了起到一个敲门砖的作用,所以本篇博客主要是讲::before 和 ::after.那么就让我们一起来聊聊伪元素吧. 2.CSS历史 伪元素实际上在CSS1(CSS1

CSS3动画特效——transform详解

CSS3动画特效——transform详解 公共css .common{ width:100px; height:100px; margin:20px auto; background-color:#75C934; text-align:center; line-height:100px; font-size:18px; } 1)transform:rotate(value); 元素旋转 value为旋转度数 默认顺时针旋转. value若为负值则逆时针旋转. .box{ /*过渡效果*/ -w

CSS3过渡详解-遁地龙卷风

0.环境准备 (1)过渡需要浏览器的支持,使用这些属性要加上浏览器厂商的前缀,我用的chrome49已经不需要前缀了, -o- Opera -webkit- Safari.Chrome -moz- Firefox -ms- IE (2) css p { height:15px;/*类似于高度这种属性,必须明确指定值*/ } p:hover/*初始p:hover*/ { height:100px; } (3)html文件body部分 <p></p> 1.快速使用 将下面属性加入初始p

CSS transition 过渡 详解

transition 过渡 IE10.Firefox.Chrome.Opera 支持 transition 属性. Safari 需要前缀 -webkit-. Chrome 25 以及更早版本需要前缀 -webkit-. IE9 以及更早版本不支持 transition 属性. 过渡属性 transition-property:规定应用过渡效果的 CSS 属性的名称(当指定的CSS属性改变时,过渡效果开始),其默认值为 all . transition-duration:规定完成过渡效果需要的时