html - CSS : Panel body slide down and slide up

标签 html angular css

我有面板。我希望面板主体在单击面板标题的加号图标时向下滑动和向上滑动。

我不会使用 jquery。我必须使用纯 CSS3 来完成。

我正在使用 Angular 2 来处理条件。

.slide_down_panel{
  -webkit-transition:  all .2s ease-in;
    -moz-transition:  all .2s ease-in;
    transition:  all .2s ease-in;
}

.slide_up_panel{
  -webkit-transition:  all .2s ease-in-out;
    -moz-transition:  all .2s ease-in-out;
    transition:  all .2s ease-in-out;
}
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 
 
<div class="container">
  <h2>Basic Panel</h2>
  <div class="panel panel-default">
    <div class="panel-heading">Panel Header
    <span (click)="showPanel = true;">{{showPanel ? '&#x2212;' : '&#x2b;'}}</span>
    </div>
    <div class="panel-body {{showPanel ? 'slide_down_panel' : 'slide_up_panel'}}" >A Basic Panel</div>
  </div>
</div>

任何帮助都会很棒。

谢谢。

最佳答案

我不擅长动画,但你可以从这里开始:

.slide_down_panel{
  -webkit-transition:  all .2s ease-in;
    -moz-transition:  all .2s ease-in;
    transition:  all .2s ease-in;
}

.slide_up_panel{
  -webkit-transition:  all .2s ease-in-out;
    -moz-transition:  all .2s ease-in-out;
    transition:  all .2s ease-in-out;
}
.panel{position: relative;}
label{
 position: absolute;
 top:0;
 left: 0;
 width: 100%;
 height: 40px;
 border: 1px solid red;
}
#checkBox, .panel-body{display:none;}
#checkBox:checked ~ .panel-body{display:block}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 
 
<div class="container">
  <h2>Basic Panel</h2>
    
  <div class="panel panel-default">
    <label for="checkBox"></label>
    <input id="checkBox" type="checkbox">
    <div class="panel-heading">Panel Header
    
    </div>
    
    <div class="panel-body {{showPanel ? 'slide_down_panel' : 'slide_up_panel'}}" >A Basic Panel</div>
  </div>
</div>

关于html - CSS : Panel body slide down and slide up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47055999/

相关文章:

javascript - 手机间隙 : how Control the font size of the Mobile?

javascript - 如何使用 Bootstrap 导航栏构建 Meteor Blaze UI

javascript - 将属性后的 css 转换为 jquery

css - 使 div 出现但不将后续元素向下移动

html - 当鼠标向下滚动时移动搜索框并将其固定到标题中,当移动向上滚动时将其带回

Angular2 路由器配置,前缀路径匹配不起作用

angular - 升级到 Angular 5.2.2 后“ng build --prod”不起作用

html - div 中的水平导航栏

javascript - 如何使用 lodash _isEmpty 检查对象是否为空?

html - 固定页眉/页脚、可滚动内容、上方/下方空间