css - 设置最大列宽并换行(最多两行)

标签 css bootstrap-table

我正在使用 Bootstrap Table 插件: https://github.com/wenzhixin/bootstrap-table

我想指定每一列的最大宽度,如果某些内容达到该最大宽度,它应该换成两行,之后内容应该被修剪并以“...”结尾显示

我将它添加到我的表格的 CSS 中:

.tabla>thead>tr>th,
.tabla>tbody>tr>th,
.tabla>tfoot>tr>th,
.tabla>thead>tr>td,
.tabla>tbody>tr>td,
.tabla>tfoot>tr>td {
    padding: 2px;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.tabla{
    vertical-align: middle;  
    table-layout: fixed;
}

它显示以“...”结尾的修剪后的列,但不知道如何实现我所需要的。

最佳答案

这里有一个 mixin,如果你在 scss 中编写 stryles,你可以指定最大宽度和文本在给出之前应该换行的行数和省略号(“...”)

    @mixin multiLineEllipsis($lineHeight: 1.2em, $lineCount: 1, $bgColor: white){
        overflow: hidden;
        position: relative;
        line-height: $lineHeight;
        max-height: $lineHeight * $lineCount; 
        text-align: justify;
        margin-right: -1em;
        padding-right: 1em;
        &:before {
          content: '...';
          position: absolute;
          right: 0;
          bottom: 0;
        }
        &:after {
          content: '';
          position: absolute;
          right: 0;
          width: 1em;
          height: 1em;
          margin-top: 0.2em;
          background: $bgColor;
        }
      }

  .multi-line-ellipsis {
    @include multiLineEllipsis($lineHeight: 1.2em, $lineCount: 2, $bgColor: white);  
  }

只需将类 multi-line-ellipsis 添加到 Bootstrap 表的行中。 您还可以更改变量 $lineHeight:/Line Height/, $lineCount:/No of line to wrap to before ellipsis (in your case, it is 2)/, $bgColor:/背景颜色/

关于css - 设置最大列宽并换行(最多两行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56130298/

相关文章:

css - 两个 div 在彼此之上,一起精确高度 100% + 较低的 div 可滚动

javascript - Bootstrap 表条件显示/隐藏列

css - 使搜索全宽的最佳方式

html - 使 <td> 的宽度等于其文本内容

html - 如何为一组中的不同 <a> 标签应用不同的颜色

javascript - 检查输入长度不超过 10

jquery - div高度垂直滚动条

css - 样式 Bootstrap 表按钮 - btn-primary dropdown-toggle

jquery - Bootstrap 表(高级搜索)- 单击自定义按钮时显示所有行

javascript - 如何在刷新时更改 Bootstrap 表属性