十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关CSS3制作响应式手风琴特效的方法,文章内容质量较高,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联是专业的婺城网站建设公司,婺城接单;提供网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行婺城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
最终效果如下:
全屏时:
屏幕宽度小于960px时:
下面来看一下页面的基本结构(index.html):
Document
Follow me on social media
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
Lorem ipsum dolor sit amet consectetur adipisicing elit.Culpa, consectetur.
样式(style.css):
*{ margin: 0; padding: 0; border: none; } body{ font-family: Arial, Helvetica, sans-serif; background-color: #222; color: #fff; } /*设置字体,因为后面的图标需要用到*/ @font-face { font-family: 'Genericons'; src: url('font/genericons-regular-webfont.woff') format('woff'), url('font/genericons-regular-webfont.eot') format('truetype'); } /*设置外面容器的宽度*/ .container{ width: 80%; margin: 20px auto; } header h2{ font-size: 2rem; padding: 1rem; text-align: center; } /*注意这里font-size设置为0,不然会出现非常糟糕的画面,我们后面再去单独对需要现实的文本设置字体大小 ,因为a链接不想让它显示内容*/ .accordion{ width: 100%; min-width: 800px; height: 200px; background-color: #333; list-style: none; display: block; overflow: hidden; font-size: 0; } /*对每一个li设置为inline-block,让其排列在一行,溢出隐藏,因为.tab下面的.content宽度为360,而且.tab只有在hover的时候宽度才会变成450px,那时候.content刚好显示.另外设置过渡,使其宽度增长的过程平缓*/ .tab{ width: 80px; height: 100%; display: inline-block; position: relative; margin: 0; background-color: #444; border: 1px solid #333; overflow: hidden; transition: all .5s ease .1s; } .tab:hover{ width: 450px; } .tab:hover .social a:after{ transform: translateX(-80px); } .tab:hover .social a:before{ transform: translateX(-100px); } /*设置定位为相对定位,不然.content会有部分内容被遮住*/ .tab .content{ position: relative; width: 360px; height: 100%; background-color: #fff; color: #333; margin-left: 80px; padding: 50px 0 0 15px; } .tab .content h2{ font-size: 2.5rem; margin-top: 20px; } .tab .content p{ font-size: .85rem; line-height: 1.6; } /设置为元素的宽高及字体为Genericons,不然图标无法显现,只会显示白色的空框框/ .social a:before, .social a:after{ position: absolute; width: 80px; height: 200px; display: block; text-indent: 0; padding-top: 90px; padding-left: 25px; font:normal 30px Genericons; color: #fff; transition: all .5s ease; } /*因为当我们hover上去的时候图标会更大,所以after伪类的字体及padding要重新设置,同时 要将margin-left设置为80px,这要默认情况下显示的就是before伪类的小图标*/ .social a:after{ font-size: 48px; padding-top: 80px; padding-left: 20px; margin-left: 80px; } /*Add icons*/ .youtube a:before, .youtube a:after{ content: '\f213'; } .youtube a:after{ background-color: #fc0000; } .twitter a:before, .twitter a:after{ content: '\f202'; } .twitter a:after{ background-color: #6dc5dd; } .facebook a:before, .facebook a:after{ content: '\f204'; } .facebook a:after{ background-color: #3b5998; } .linkedin a:before, .linkedin a:after{ content: '\f208'; } .linkedin a:after{ background-color: #00a9cd; } .instagram a:before, .instagram a:after{ content: '\f215'; } .instagram a:after{ background-color: #6dc993; } .github a:before, .github a:after{ content: '\f200'; } .github a:after{ background-color: #6e5494; } /*当屏幕最大宽度为960px时*/ @media(max-width:960px){ .container{ width: 70%; } /*让高度为auto*/ .accordion{ min-width: 450px; height: auto; } /*让li显示为block,这样就会依次往下排*/ .tab{ width: 100%; display: block; border-bottom: 1px solid #333; } /*这个一定要设置,因为原本的.tab:hover时宽度为450px,假如.tab的宽度有600px,在hover时就回剩余150px的空白,不是我们想要的效果*/ .tab:hover{ width: 100%; } .tab .content{ width: 85%; } /*设置对应伪类的padding值,使其大概显示在中间*/ .social a:before{ padding-top: 60px; padding-left: 25px; } .social a:after{ padding-top: 50px; padding-left: 20px; } }
以上就是CSS3制作响应式手风琴特效的方法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注创新互联行业资讯,感谢各位的阅读。