Can the Twitter Bootstrap Carousel plugin fade in and out on slide transition

前端 未结 6 1185
时光取名叫无心
时光取名叫无心 2020-11-30 19:36

I have a very basic implementation of the Twitter Bootstrap Carousel plugin on a site that I am working on (http://furnitureroadshow.com/). I was just wondering if anyone h

6条回答
  •  青春惊慌失措
    2020-11-30 19:49

    Yes. Although I use the following code.

    .carousel.fade
    {
        opacity: 1;
    
        .item
        {
            -moz-transition: opacity ease-in-out .7s;
            -o-transition: opacity ease-in-out .7s;
            -webkit-transition: opacity ease-in-out .7s;
            transition: opacity ease-in-out .7s;
            left: 0 !important;
            opacity: 0;
            top:0;
            position:absolute;
            width: 100%;
            display:block !important;
            z-index:1;
            &:first-child{
                top:auto;
                position:relative;
            }
    
            &.active
            {
                opacity: 1;
                -moz-transition: opacity ease-in-out .7s;
                -o-transition: opacity ease-in-out .7s;
                -webkit-transition: opacity ease-in-out .7s;
                transition: opacity ease-in-out .7s;
                z-index:2;
            }
        }
    }
    

    Then change the class on the carousel from "carousel slide" to "carousel fade". This works in safari, chrome, firefox, and IE 10. It will correctly downgrade in IE 9, however, the nice face effect doesn't happen.

    Edit: Since this answer has gotten so popular I've added the following which rewritten as pure CSS instead of the above which was LESS:

    .carousel.fade {
      opacity: 1;
    }
    .carousel.fade .item {
      -moz-transition: opacity ease-in-out .7s;
      -o-transition: opacity ease-in-out .7s;
      -webkit-transition: opacity ease-in-out .7s;
      transition: opacity ease-in-out .7s;
      left: 0 !important;
      opacity: 0;
      top:0;
      position:absolute;
      width: 100%;
      display:block !important;
      z-index:1;
    }
    .carousel.fade .item:first-child {
      top:auto;
      position:relative;
    }
    .carousel.fade .item.active {
      opacity: 1;
      -moz-transition: opacity ease-in-out .7s;
      -o-transition: opacity ease-in-out .7s;
      -webkit-transition: opacity ease-in-out .7s;
      transition: opacity ease-in-out .7s;
      z-index:2;
    }
    

提交回复
热议问题