html – CSS3动画幻灯片/隐藏导航以影响其他元素

前端之家收集整理的这篇文章主要介绍了html – CSS3动画幻灯片/隐藏导航以影响其他元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望有一个平滑的动画过渡1& 2,触发1时显示.我在这里完成了这个: http://codepen.io/jacksonbeale/pen/epjcs使用负上边距,但问题是1的高度将根据导航中的项目数量而变化,所以这对我不起作用.
nav {
    margin-top:-95px;
    width:100%;
    Box-sizing:border-Box;
    z-index:5;
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
    &.showmenu {
      margin-top:0;
    }
  }

我当前的项目不允许我使用jQuery,任何js都需要由另一个开发人员编写.我只控制html& CSS.我似乎有点讨论这个问题所以如果有人能提出一个关于纯css方法的建议来完成我需要的东西会很棒.

解决方法

你可以这样做:

>在菜单内容周围添加一个容器
>绝对定位您的内容
>然后,因为容器只有菜单的高度(内容不在位置:绝对;)你可以使用translateY来翻转和转出菜单,使用translateY(-100%)/ translateY(0)

DEMO

HTML:

<div class="test">
  <div><span class="menulink">Menu</span></div>
  <div class="content">
    <nav>
      <ul>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
        <li>Three</li>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
        <li>Three</li>
      </ul>
    </nav>
    <div>content</div>
  </div>
</div>

CSS :(抱歉,我不熟悉SCSS)

.test {
  width:400px;
  position:relative;
  > div,nav {
    border:3px solid #CCC;
  }
  > div:first-child {
    height:30px;
    z-index:10;
    background:teal;
    position:relative;
    z-index:1;
    span {
      float:right;
      display:table;
      height:100%;
      &:hover {
        cursor:pointer;
      }
    }
  }
  nav {
    width:100%;
    Box-sizing:border-Box;
    z-index:5;
    &.showmenu {
      margin-top:0;
    }
  }
}
.content > div{
  min-height:200px;
    position:absolute;
    left:-3px; top:100%;
    width:100%;
  border:3px solid #ccc;
}
.content{
  z-index:0;
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
.content.showmenu{
  transform: translateY(0);
  -webkit-transform: translateY(0);
}

jQuery:

$( ".menulink" ).click(function() {
  $( ".content" ).toggleClass( "showmenu" );
});

猜你在找的HTML相关文章