zoukankan      html  css  js  c++  java
  • CSS3过渡、变形、动画(一)

    先给大家上一个效果感受一哈:

    http://demo.marcofolio.net/3d_animation_css3/

    效果图(3D炫酷翻转):

    一、CSS3过渡以及如何使用

    通过一个例子来说明这一点:

    这是一个按钮的样式:

     1 #content a {
     2   text-decoration: none;
     3   font: 2.25em /* 36px ÷ 16 */ 'BebasNeueRegular';
     4   background-color: #b01c20;
     5   border-radius: 8px;
     6   color: #ffffff;
     7   padding: 3%;
     8   float: left;
     9   background: linear-gradient(90deg, #b01c20 0%, #f15c60 100%);
    10   margin-top: 30px;
    11   box-shadow: 5px 5px 5px hsla(0, 0%, 26.6667%, 0.8);
    12   text-shadow: 0px 1px black;
    13   border: 1px solid #bfbfbf;
    14 }

    再来给按钮添加一个悬停样式:

    1 #content a:hover {
    2   border: 1px solid #000000;
    3   color: #000000;
    4   text-shadow: 0px 1px white;
    5 }

    效果:

    默认时:

    鼠标悬停时:

    使用这段 CSS 代码,当鼠标悬停在按钮上面时,按钮会直接从第一种状态(白色文字)突变到第二种状态(黑色文字)

     下面我们给第一段CSS添加一点代码:

    1 #content a {
    2 /*……原来的样式……*/
    3 transition: all 1s ease 0s;
    4 }
    现在再把鼠标悬停在按钮上,文字、文字阴影和边框阴影的颜色都会从第一种状态平滑过渡到第二种状态。

     二、过渡相关的属性

    CSS3过渡效果涉及四个属性,也可以使用包含这四个属性的缩写。

    (1)transition-property :要过渡的 CSS 属性名称(比如 background-color 、
    text-shadow 或者 all ,使用 all 则过渡会被应用到每一个可能的 CSS属性上);

    (2)transition-duration :定义过渡效果持续的时间(时间单位为秒,比如 .3s 、 2s

    或 1.5s );

    (3)transition-timing-function :定义过渡期间速度如何变化(比如 ease 、 linear 、

    ease-in 、 ease-out 、 ease-in-out 或 cubic-bezier );

    (4)transition-delay :可选,用于定义过渡开始前的延迟时间。相反,将该值设置为

    一个负数,可以让过渡效果立即开始,但过渡旅程则会从半路开始。

    1 #content a {
    2   ……其他样式……
    3   transition-property: all;
    4   transition-duration: 1s;
    5   transition-timing-function: ease;
    6   transition-delay: 0s;
    7 }

    可以分开写这些属性,当然也可以简写:

    1 #content a {
    2 /*……原来的样式……*/
    3 transition: all 1s ease 0s;
    4 }

    还有浏览器私有前缀:

    1 #content a{
    2   /*其他样式*/
    3 -o-transition: all 1s ease 0s;
    4 -ms-transition: all 1s ease 0s;
    5 -moz-transition: all 1s ease 0s;
    6 -webkit-transition: all 1s ease 0s;
    7 transition: all 1s ease 0s;
    8 }

    你还可以在不同时间段内过渡不同的属性:

    1 #content a {
    2 /*……其他样式……*/
    3 transition-property: border, color, text-shadow;
    4 transition-duration: 2s, 3s, 8s;
    5 }

    小tips(给所有元素添加一个过渡效果,是不是又好玩又好看):

     1 * {  transition: all 1s; } 

    联系作者: VX:Mm_Lewis
  • 相关阅读:
    爱奇艺笔试题 输出01020304... ...
    ThreadPoolExecutor 中为什么WorkQueue会在corePoolSize满了之后入队
    jvisualvm 的使用
    连续子数组的最大和
    最长连续子序列
    leetcode 需要了解的知识点储备
    java String
    mysql MVCC
    java 批量导出(zip文件)
    java 中接口调用
  • 原文地址:https://www.cnblogs.com/lewis-messi/p/8334856.html
Copyright © 2011-2022 走看看