html - 在 HAML/HTML 中对齐表的列

标签 html css ruby-on-rails haml bootstrap-4

我正在制作一个动态填写的表格。动态填写内容时,我可以获得空对象。当我得到空对象时,HTML 表格没有正确对齐。例如我想创建一个表如下:

    Header1       Header2        Header3       Header4
                  Content12                    Content14
    Content21                    Content23     Content24
    Content31     Content32                    Content34

但目前,表格如下所示:

    Header1       Header2        Header3       Header4
    Content12     Content14
    Content21     Content23      Content24
    Content31     Content32      Content34

我看过的其他解决方案要求在存在空对象时插入   字符。如果我采用这种方法,那么对于每一列,我都必须检查给定的值是否为空,如果为空,则插入   字符。我认为必须有一些其他有效的方法来做到这一点。有人可以帮我解决这个问题吗?

P.S:这是一个 Ruby on Rails 元素,我使用 HAML 和 Bootstrap 来创建 View 。此外,我的内容行包含一些额外的按钮,即标题行包含的列少于内容行

下面是我用来创建表格的代码。

%table.table.table-hover.table-responsive
  %thead
    %tr
      %th ID
      %th Header1
      %th Header2
      %th Header3
      %th Header4
  %tbody
    -@given_objects.each do |obj|
      %tr
        %td= obj.id
        %td= obj.content1
        %td= obj.content2
        %td= obj.content3
        %td= obj.content4
        %td= link_to 'action1', action1_path(obj), class: 'btn btn-primary'
        %td= link_to 'action2', action2_path(obj), class: 'btn btn-primary'
        %td= link_to 'action3', action3_path(obj), class: 'btn btn-primary'

最佳答案

我有一种感觉,“某些东西”覆盖了表格单元格的 display 值的默认 CSS 值。可能是 Bootstrap ?但我只能猜测...

但以下应该有效:

app/assets/ANY_SCSS_FILE.scss

table.show-empty-cells {
  td:empty {
    display: table-cell !important;
  }
}

然后为您的表格使用 .show-empty-cells 类:

%table.table.table-hover.table-responsive.show-empty-cells

参见 working example here

关于html - 在 HAML/HTML 中对齐表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145773/

相关文章:

远程模式 RoR 中的 jQuery UI 自动完成

mysql - 在 has_many 上链接 where 子句 :through association (Rails 4. 1.0.rc1)

javascript - 通过 AJAX 发送 canvas.toDataUrl() 到 php

javascript - 由 document.createElement ("option"创建的 OPTION 元素始终将 selected 属性设置为 true

javascript - translate() 方法在 HTML5 Canvas 的 jCanvaScript 中不起作用?

html - 是否可以纯粹在 css 中制作一个带有 1 个尖边的 1px 边框输入字段?

html - 令人费解的伪元素语法 :first-child and :first-letter

javascript - 从按钮中删除 ng-grid 表中的行

javascript - 获取输入 URL 到 img src

javascript - CSS或JS使垂直滚动条只在滚动时出现