css - 编辑时不调整大小的可编辑 HTML 表格单元格

标签 css angularjs html-table

我正在尝试使用类似 this 的方法实现一个包含可编辑单元格的表格.该单元格包含一个标签或跨度以及一个输入框,我使用一个标志来决定通过 ng-show 显示哪个。但是当标签可见时,单元格会垂直扩展。它在该演示中很微妙,但您可以看到第二行略微向下移动。

我怎样才能让它保持相同的大小,就像 this 中的可编辑表格行一样?例子?我看过那个例子中的样式,但我无法弄清楚它是如何完成的。非编辑模式的跨度似乎具有“自动”尺寸,但当输入表单出现时,它具有明确的宽度/高度 - 而且它们恰好完全相同。

附言。我愿意接受我这样做的方式不是最佳的想法,在这种情况下,任何替代建议都会很好。

<div ng-controller="MyCtrl">

  <table>
    <tr>
      <td>
        <label ng-click="editing=true" ng-show="!editing">{{ mytext }}</label>
        <input ng-blur="editing=false" ng-show="editing" ng-model="mytext" />
      </td>
    </tr>
    <tr>
      <td>
        <label>some more text</label>
      </td>
    </tr>
  </table>
</div>

最佳答案

我在问题中链接到的 xeditable 示例中发现了为什么单元格不扩展的原因 - 这是因为在 css 中设置了明确的大小:

div[ng-controller] table tr td {
  height: 45px;
  /*text-align: center;*/
  vertical-align: middle;
}

我一开始没有找到这个,因为我在查看包附带的 css 文件,但我在其中找不到任何可以解释它的规则。但它实际上是在演示页面本身的另一个 css 文件中定义的 ( https://vitalets.github.io/angular-xeditable/docs/css/docs.css )。

关于css - 编辑时不调整大小的可编辑 HTML 表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42461248/

相关文章:

html - Min-width, max-width css 使用最小宽度

javascript - AngularJS 类型错误 : undefined is not a function on ng-view directive

html - 尽管已经制作了 css,但表 td 字体具有相同的行宽?

javascript - 使用 jQuery 将一个字段的内容复制到另一个字段

jquery - 如何用css3动画添加类?

javascript - 单击按钮时关闭模态窗体并打开一个新窗体

javascript - 使用不透明度显示部分的页面,在#section 之后,然后执行 Javascript ScrollTo(0,0)

javascript - 双单选按钮选择错误 AngularJs

angularjs - Angular.js 与 Elm 的优缺点是什么?

javascript - 如何获取每行的 td innerHTML,然后根据此值设置每行的 div css