花式使用CSS3 transition_html/css_WEB-ITnose

php中文网
发布: 2016-06-21 09:01:14
原创
1328人浏览过

欢迎交换友链 laker's blog--进击的程序媛

Github: https://github.com/younglaker

微博:江小湖Laker

本文讲介绍 :hover、 :active、 :focus、 :checked、 Media Queries、 JavaScript控制六种方法触发CSS3 transition,以及 transitionend事件的使用。

:hover

最常见的是用hover:

立即学习前端免费学习笔记(深入)”;

<div class="hover">:hover</div>.hover {  width: 100px;  height: 100px;  background: #222;  color: white;  text-align: center;  transition: all 2s ease;}.hover:hover {  width: 200px;  height: 200px;}
登录后复制

Demo

:active

mousedown s时触发:

<div class="active">:active</div>.active {  width: 100px;  height: 100px;  background: #222;  color: white;  text-align: center;  transition: all 2s ease;}.active:active {  width: 200px;  height: 200px;}
登录后复制

Demo

:focus

文本框聚焦时(这个在很多网站的搜索框的动画效果里用到):

<div class="focus">  <input type="text" /></div><div class="focus">  <textarea name="" id="" cols="30" rows="10"></textarea></div>.focus input, .focus textarea {  width: 200px;  transition: width 1s ease;}.focus input:focus, .focus textarea:focus {  width: 300px;}
登录后复制

Demo

:checked

用于checkboxes 和 radio buttons 被选中时:

<div>    <input type="checkbox" name="things" value="thing1"> Input 1<br>    <input type="checkbox" name="things" value="thing2"> Input 2<br>    <input type="checkbox" name="things" value="thing3"> Input 3<br>  <input type="checkbox" name="things" value="thing4"> Input 4<br></div>    input[type="checkbox"]:checked {  height: 20px;  transition: all 1s ease;}input[type="checkbox"]:checked {  width: 30px;}
登录后复制

Demo

Media Queries

改变浏览器窗口大小时触发:

无阶未来模型擂台/AI 应用平台
无阶未来模型擂台/AI 应用平台

无阶未来模型擂台/AI 应用平台,一站式模型+应用平台

无阶未来模型擂台/AI 应用平台 35
查看详情 无阶未来模型擂台/AI 应用平台
<div class="media">media</div>.media {  width: 200px;  height: 200px;  background: #222;  color: white;  text-align: center;  transition: width 1s ease;}@media only screen and (max-width : 960px) {  .media {    width: 100px;    height: 100px;  }}
登录后复制

Demo

JavaScript事件触发CSS3 transition

通过 JavaScript 或者 jQuery 添加、删除class来完成动画,CSS格式类似 :hover。

例如:

以 click 事件为例,当点击方块时,变化长宽、背景色:

HTML:

<div class="box"></div>
登录后复制

CSS:

.box {  width: 200px;  height: 200px;    background: black;  -webkit-transition: all 2s ease;  -moz-transition: all 2s ease;  -o-transition: all 2s ease;  transition: all 2s ease;}.box.clicked {  width: 300px;  height: 300px;    background: blue;}
登录后复制

JavaScript:

$(".box").click(function() {    $(this).toggleClass("clicked");});
登录后复制

Demo

如果用原生JavaScript,可以自己写个添加和删除类的函数。

transitionend 事件

transitionend 事件会在 CSS transition 结束后触发。兼容Chrome、Firefox、Safari、IE10+:

element.addEventListener('transitionend', callback, false);
登录后复制

为保证低版本兼容性可以写webkitTransitionEnd(WebKit )、otransitionend(Opera)、MSTransitionEnd(IE 10+)、transitionend(Mozilla)。 详见此讨论。

有没有渐变开始的事件?目前只有IE 10+ 有 transionstart 事件,W3C目前未有此标准。

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号