首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular-bootstrap折叠表行动画不能平滑过渡

angular-bootstrap折叠表行动画不能平滑过渡
EN

Stack Overflow用户
提问于 2015-02-18 01:30:02
回答 2查看 17K关注 0票数 10

我遇到了一个关于angular-bootstrap折叠指令和CSS的问题。基本上,当你把“崩溃”指令添加到一个div中时,它工作得很好。但是,当您尝试展开/折叠表行时,转换效果似乎存在一些问题。

HTML:

代码语言:javascript
复制
<div ng-controller="dogCtrl">
  <table class="table">
    <thead>
      <tr>
        <th>Name</th>
        <th>Breed</th>
      </tr>
    </thead>
    <tbody>
      <tr ng-repeat-start="dog in dogs">
        <td><a href="#" ng-click="isCollapsed = !isCollapsed">{{dog.name}}</a></td>
        <td>{{dog.breed}}</td>
      </tr>
      <tr collapse="isCollapsed" ng-repeat-end="">
        <td colspan="3">
          <h3>Pet details</h3>
          <p>some details about this pet.</p>
        </td>
      </tr>
    </tbody>
  </table>
</div>

控制器:

代码语言:javascript
复制
var app = angular.module('dogApp', ['ui.bootstrap']);
app.controller('dogCtrl', function($scope) {
    $scope.isCollapsed = true;
    $scope.dogs = [
        {
            name: "Sparky",
            breed: "Parson Russell Terrier"
        }, {
            name: "Shep",
            breed: "German Shepard"
        }
    ];
});

代码示例:http://codepen.io/anon/pen/qEoOBq

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-18 01:57:34

由于表格单元格的高度是“内容所需的最小高度”(就像在CSS2.1规则中一样),所以我想您不能对表格行高度进行动画处理。

变通方法可能涉及到将单元格的内容包装到div元素中,并对该容器进行动画处理。

这对我很有效,但我没有进行过严格的测试:

代码语言:javascript
复制
      <tr ng-repeat-end="">
        <td colspan="2" style="padding: 0">
          <div collapse="isCollapsed">
            <h3>Pet details</h3>
            <p>some details about this pet.</p>                
          </div>
        </td>
      </tr>
票数 10
EN

Stack Overflow用户

发布于 2016-02-09 19:31:05

这是表行上的角度动画的一个已知问题。https://github.com/twbs/bootstrap/issues/12593

最好的方法是显示here

代码语言:javascript
复制
<tr ng-click="row1Open = !row1Open">
      <td>Acrylic (Transparent)</td>
      <td>{{row1Open}}</td>
      <td>foo</td>
    </tr>
    <tr class="collapse-row">
      <td>
        <div collapse="!row1Open">
          <div class="collapse-cell">
            Detail Row {{demo.hello}}
          </div>
        </div>
      </td>
      <td>
        <div collapse="!row1Open">
          <div class="collapse-cell">
            abc
          </div>
        </div>
      </td>
      <td>
        <div collapse="!row1Open">
          <div class="collapse-cell">
            $2.90
          </div>
        </div>
      </td>
    </tr>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28567428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档