支持响应式手机端的JS手风琴折叠导航菜单特效(调整)

效果例子地址:https://www.js-css.cn/a/jscode/nav/2014/1231/1424.html

这个是网上提供的效果,一开始觉得效果不错,可以使用一下,但是真正用到项目上发现很多问题,于是自己进行了一些调整,这样可以兼容显示在手机,且不会有溢出这些情况,先上改过的效果图(item2和item4为展开状态):

支持响应式手机端的JS手风琴折叠导航菜单特效(调整)_第1张图片

 

看到这觉得也就是改了字体居中等样式,其实重点修改的是溢出问题,修改后的bellows-theme.css如下:

/* .bellows {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box; 
} */

.bellows__header {
  position: relative;
  padding: 10px 2px;
  border: 1px solid #0087e7; 
  /* border-width: 0 0 1px; */
  background: #0097ff;  //原色#3498db
  color: white;
  -webkit-tap-highlight-color: transparent; }
  .bellows__header:active {
    background: #0087e7; }  
  .bellows__header::before, .bellows__header::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    z-index: 2;
    display: block;
    width: 16px;
    height: 4px;
    margin-top: -2px;
    background: white;
    pointer-events: none;
    -webkit-transition: -webkit-transform 0.25s ease-in-out;
            transition: transform 0.25s ease-in-out; }
  .bellows__header::before {
    content: '';
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg); }
  .bellows__header::after {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
  .bellows__item.bellows--is-open > .bellows__header::before, .bellows__item.bellows--is-opening > .bellows__header::before {
    -webkit-transform: rotate(225deg);  //原来都是180deg
        -ms-transform: rotate(225deg);
            transform: rotate(225deg); }
  .bellows__item.bellows--is-open > .bellows__header::after, .bellows__item.bellows--is-opening > .bellows__header::after {
    -webkit-transform: rotate(135deg);  //原来都是360deg
        -ms-transform: rotate(135deg);
            transform: rotate(135deg); }
  .bellows__item:last-child > .bellows__header {
    border-bottom: 0; }
  .bellows__header h1,.bellows__header h2,.bellows__header h3,.bellows__header h4 {
    margin: 0; 
    color:white;
    text-align:center;
  }

.bellows__content {
  padding: 0px 5px;
  border: 1px solid #ecf0f1; 
  height: auto;
  overflow: hidden;
  max-height:50000em;  //容纳最多行
  -webkit-transition: max-height 0.5s;
  transition: max-height 0.5s;
 }
 @media screen and (min-width: 48em) {
  .bellows__content {
    max-height: 50000em;  //容纳最多行
    padding: 0px 5px;
    -webkit-transition: max-height 0.5s;
    transition: max-height 0.5s;
  }
}

.bellows__content .bellows {
   margin-top: 20px; 
  }

我这里使用的是通过js动态生成的内容,html代码如下:








支持响应式手机端的JS手风琴折叠导航菜单特效






支持响应式手机端的JS手风琴折叠导航菜单特效

参考文档:https://www.cnblogs.com/xcxc/p/4531846.html

别的相似效果例子:http://www.17sucai.com/pins/20292.html

最后觉得这个网站的css属性介绍很全面,推荐一下:http://www.runoob.com/cssref/pr-border-style.html

你可能感兴趣的:(web开发)