css3过渡有几种触发方式

这篇文章将为大家详细讲解有关css3过渡有几种触发方式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十载企业及个人网站建设经验 ,为成都千余家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,高端网站设计,同时也为不同行业的客户提供成都网站设计、网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选成都创新互联公司

css3过渡有2种触发方式:1、通过伪类元素触发,包括“:hover”、“:focus”、“:checked”等方式;2、通过JS触发,使用js或Jquery代码修改CSS属性,进而触发transition的渐变。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

transition

  transition是CSS3最简单的动画, 当元素的属性发生改变能够以渐变的方式呈现出来; 如下代码是w3c上的一个示例, 加上了transition的结果就是在hover时, 长度会逐步增加到300px.

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:100px;
height:100px;
background:blue;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}

div:hover
{
width:300px;
}
</style>
</head>
<body>

<div></div>

<p>请把鼠标指针移动到蓝色的 div 元素上,就可以看到过渡效果。</p>

<p><b>注释:</b>本例在 Internet Explorer 中无效。</p>

</body>
</html>

css3过渡的触发方式

第一种: 通过伪类元素触发,包括hover、focus、checked等方式

<style>
    .box{
        width: 100px;
        height: 100px;
        background-color: blueviolet;
        transition: width 1s linear .5s;
    }
    .box:hover{
        width: 400px;
    }
</style>

<p class="box"></p>

但是实际使用当中我们更多的是使用JS或者Jquery直接修改属性, 但是工作中发现这样不行。

第二种: 通过JS触发

如果使用JS或者Jquery直接修改CSS属性

JS触发方式应当是它的class发生改变以至于能够得到新的样式。

我的理解是必须元素发生什么改变使得它有了一些不同从而获取到一些新的属性,对于伪类触发是这样,对于JS触发方式应当是它的class发生改变以至于能够得到新的样式。

通过给p添加newclass的类使得p发生改变获取到该类, 能够触发transition的渐变。

<style>
    .box{
      width: 100px;
      height: 100px;
      background-color: blueviolet;
      transition: width 1s linear .5s;
    }
    .box1{
      width: 400px;
    }
</style>

<p class="box"></p>

<scrpit>
    setTimeout(() => {
      let element = document.getElementsByClassName('box')[0];
      element.classList.add('box1')

    }, 1) 
</scrpit>

关于“css3过渡有几种触发方式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

网页标题:css3过渡有几种触发方式
文章地址:https://www.cdcxhl.com/article22/gsjpcc.html

成都网站建设公司_创新互联,为您提供微信公众号Google网站策划网站排名软件开发服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名