怎么使用纯CSS实现手风琴效果

这篇文章将为大家详细讲解有关怎么使用纯CSS实现手风琴效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

目前累计服务客户近1000家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站设计、成都网站制作、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

实现原理:

怎么使用纯CSS实现手风琴效果

主要是利用CSS的hover属性,鼠标未移上去时,所有的li共享整个容器的宽度。当鼠标移上去的时候,hover生效,让该li标签变回原来图片的宽度,其他的图共享剩下的宽度。同时加上transition属性,产生渐变的效果。

接下来通过一个小小的demo来切身感受一下:

HTML代码:


        
            
                    
  •                                                                                                                 云南.大理                     
                                 
  •                                                                                                                 广西.桂林                     
  •                                  
  •                                                                                                                 福建.厦门                     
  •                                  
  •                                                                                                                 浙江.千岛湖                     
  •                                  
  •                                                                                                                 长江.三峡                                      
  •                      

    CSS代码:

    .contain {
                width: 1050px;
                margin: 100px auto;
            }
            
            .contain li {
                float: left;
                list-style: none;
                width: 200px;
                height:284px;
                transition: all 2s;
                position: relative;
                overflow: hidden;
                border-left: 2px solid rgba(255, 255, 255, .8);
                box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.8);
            }
            
            .contain ul:hover li {
                width: 80px;
            }
            
            .contain ul li:hover {
                width: 500px;
            }
            
            .contain li .title {
                position: absolute;
                width: 100%;
                height: 50px;
                background-color: rgba(0, 0, 0, .5);
                text-indent: 2em;
                line-height: 50px;
                bottom: 0px;
                left: 0
            }
            
            .contain a {
                color: #fff;
                text-decoration: none;
            }

    实现效果图如下:

    怎么使用纯CSS实现手风琴效果

    鼠标未移上去时效果

    怎么使用纯CSS实现手风琴效果

    鼠标移到某张图片效果

    这是一个很简单的小demo,容易上手,对于初学者来说也并不难。同时也通过这个demo感受到了CSS的强大与魅力之处,希望能给大家带来一点小小的帮助。最后梳理一下,做一下这个demo中所用的知识点做一个总结:

    1.hover 选择器

    解释::hover 选择器用于选择鼠标指针浮动在上面的元素。:hover 选择器可用于所有元素,不只是链接。

    补充::link 选择器设置指向未被访问页面的链接的样式,:visited 选择器用于设置指向已被访问的页面的链接,:active 选择器用于活动链接。

    拓展:在 CSS 定义中,:hover 必须位于 :link 和 :visited 之后(如果存在的话),这样样式才能生效。

    2.transition属性

    解释:transition是CSS3一个简写属性,用于设置四个过渡属性:

    1. transition-property:规定设置过渡效果的 CSS 属性的名称。

    2. transition-duration:规定完成过渡效果需要多少秒或毫秒。

    3. transition-timing-function:规定速度效果的速度曲线。

    4. transition-delay:定义过渡效果何时开始。

    语法:transition: property duration timing-function delay;

    关于“怎么使用纯CSS实现手风琴效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


    标题名称:怎么使用纯CSS实现手风琴效果
    分享地址:http://scyanting.com/article/popsjs.html

    其他资讯