举例详解CSS3中的Transition


Posted in HTML / CSS onJuly 15, 2015

1.会伸缩的搜索表单

常在 sf.gg 混的人都知道,它的顶部导航栏是这样的:
举例详解CSS3中的Transition

当输入框获得焦点就会变成这样的:
举例详解CSS3中的Transition

利用 CSS3 的 Transition 属性,我们可以简单做出一个类似的搜索表单出来:

HTML 标记:

XML/HTML Code复制内容到剪贴板
  1. <header>  
  2.     <form action="#" method="post" class="searchForm">  
  3.         <label for="search">search</label>  
  4.         <input type="search" id="search" name="search" placeholder="search">  
  5.     </form>  
  6. </header>  

CSS 样式:

CSS Code复制内容到剪贴板
  1. *{   
  2.     margin: 0;   
  3.     padding: 0;   
  4. }   
  5. header{   
  6.     font-familyhelvetica,arial,sans-serif;   
  7.     displayblock;   
  8.     overflowhidden;   
  9.     width:500px;           
  10.     margin15px;   
  11.     border-radius: 3px;   
  12.     background-color#ddd;   
  13. }   
  14. form.searchForm{   
  15.     /*包含label和input的容器*/  
  16.     width200px;   
  17.     margin5px;   
  18.     padding5px;   
  19. }   
  20. form.searchForm input{   
  21.     width90px;   
  22.     padding2px 0 3px 5px;   
  23.     outlinenone;   
  24.     font-size: 1.2em;   
  25.     border-color#eee #ccc #ccc #eee;   
  26.     border-radius: 10px;   
  27.     /*针对webkit内核的浏览器的厂商前缀*/  
  28.     -webkit-transition:0.5s width;   
  29. }   
  30. form.searchForm input:focus{   
  31.     width400px;   /*如果失去焦点,则缩回原来长度*/  
  32. }   
  33. form.searchForm label{   
  34.     displaynone;  /*标注是必要的,但不用显示出来*/  
  35. }  

效果图:

默认:
举例详解CSS3中的Transition

获得焦点:
举例详解CSS3中的Transition

    对于那些可以输入的控件,大家又俗称其为 字段。每个表单控件(submit 按钮除外),都有一个对应的 label 文本元素,用于描述控件代表的数据。所以,一个搜索框就是 一个字段的表单。

2.CSS3过渡

示例:

CSS Code复制内容到剪贴板
  1. -webkit-transition:0.5s width;  

    注意:transition 属性需要使用带厂商前缀的形式——这里示例只带有Webkit(Chrome / Safari)前缀的属性。

CSS3 过渡可以让 CSS 属性产生动画效果。平常被某些事件触发时变化很突然的样式,比如鼠标悬停时改变链接颜色,使用过渡后会在指定的时间段内逐渐变化。第一条 CSS 规则设定属性的初始状态和过渡参数。第二条 CSS 规则设定事件发生时属性的目标状态。

通常,过渡动画是由用户鼠标悬停时的 :hover 伪类规则和表单元素获得焦点时的 :focus 伪类规则触发的。除此之外,还可以在一个带类名选择符的规则中设定新状态,然后通过 JavaScript(或其他 JS 类库)为元素添加这个类名来触发过渡,添加类名的时机可以是鼠标点击或其它事件发生时。

有五个过渡属性:

    transition-property,过渡的 CSS 属性名,比如 color、 width;
    transition-duration,过渡的持续时间,以秒或毫秒设定,比如 2s、 500ms;
    transition-timing-function,过渡的调速函数,决定动画效果是否平滑,是先慢后快还
    是先快后慢,比如 ease-in、 ease-out、 ease-in-out 或 linear(默认值);
    transition-delay,过渡开始前的延迟时间,以秒或毫秒设定,比如 1s、 200ms;
    transition,过渡的简写属性,例如 transition:color 2s ease-in 1ms; 。

    注意::很多(并非全部)CSS 属性都可以通过 transition 属性来实现动画效果。

HTML / CSS 相关文章推荐
CSS3模块的目前的状况分析
Feb 24 HTML / CSS
纯css3(无图片/js)制作的几个社交媒体网站的图标
Mar 21 HTML / CSS
CSS3盒子模型详解
Apr 24 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
Jan 13 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
Jul 03 HTML / CSS
css3实现3D文本悬停改变效果的示例代码
Jan 16 HTML / CSS
浅谈three.js中的needsUpdate的应用
Nov 12 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
Jan 09 HTML / CSS
HTML5 video 事件应用示例
Sep 11 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
Nov 24 HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 HTML / CSS
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
Apr 22 HTML / CSS
使用CSS3制作一个简单的Chrome模拟器
Jul 15 #HTML / CSS
初探CSS3中的calc()功能
Jul 14 #HTML / CSS
CSS3中线性颜色渐变的一些实现方法
Jul 14 #HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 #HTML / CSS
用CSS3实现背景渐变的方法
Jul 14 #HTML / CSS
使用CSS3制作响应式导航菜单的方法
Jul 12 #HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 #HTML / CSS
You might like
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
JavaScript实现滑块验证解锁
2021/01/07 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
跟老齐学Python之Import 模块
2014/10/13 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python类反射机制使用实例解析
2019/12/30 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
党支部党的群众路线对照检查材料
2014/09/24 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
感谢信范文大全
2015/01/23 职场文书
首都博物馆观后感
2015/06/05 职场文书
高三语文教学反思
2016/02/16 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python