关于table设置宽度无效的解决方法

  • 首先要知道table-layout属性值有哪些?
描述
automatic默认。列宽度由单元格内容设定。
fixed列宽由表格宽度和列宽度设定。
inherit规定应该从父元素继承 table-layout 属性的值。

当属性值为automatic时候,宽度通过设置样式不一定起作用的,它的宽度取决于单元格内容。
当属性值为fixed时候,列宽由表格宽度和列宽设定,但是问题就在这里。是不是好多人在给table设置table-layout:fixed之后,给td设置宽度不起作用,看到效果仍然是所有单元格均分。
那么,怎么解决呢?

  • 下面分享一个可行的解决方案:
  • 在tbody之前有多少列就加多少个col标签,通过给col设置样式,就可以实现表格实际宽度是你设置的宽度。
				<table border="1" key={item.moId}>
                    <col />
                    <col />
                    <col />
                    <col />
                    <tbody>
                      <tr>
                        <td>姓名:</td>
                        <td>张三</td>
                        <td>性别</td>
                        <td></td>
                      </tr>
                      <tr>
                        <td>备注:</td>
                        <td colSpan="3">我是备注</td>
                      </tr>
                    </tbody>
                  </table>

对应的less可以写成:

table{
      table-layout:fixed;
      width:100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      margin:20px auto 0;
      font-size: 10px;
      col:nth-child(odd){
        width:@width!important;
      }
      col:nth-child(event){
        width: calc(50% - @width)!important;
      }
 }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值