LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

table的td宽度计算规则

admin
2023年8月24日 23:47 本文热度 413

前置条件:设定table宽度为固定值1000px,

1、当里面的td总宽度和小于table宽度时,td宽度会被根据各个td宽度比例重新计算

<table style="width: 1000px;">
    <tr>
        <td style="width: 100px;">aaa</td>
        <td style="width: 150px;">bbb</td>
        <td style="width: 220px;">ccc</td>
        <td style="width: 180px;">ddd</td>
    </tr>
</table>

上面aaa占比100/(100+150+220+180)=0.15384,所以重新计算后的aaa宽度为153.84px,同理bbb:230.77px,ccc:338.45px,ddd:276.94px

2、当里面td的宽度大于table宽度时,里面td的内容一样,但是设置宽度不一致时,会按比例计算各td宽度

<table style="width: 1000px;">
    <tr>
        <td style="width: 400px;">aaa</td>
        <td style="width: 200px;">bbb</td>
        <td style="width: 200px;">ccc</td>
        <td style="width: 300px;">ddd</td>
    </tr>
</table>

aaa、bbb、ccc、ddd的宽度均按4/11, 2/11, 2/11, 3/11的比例分配

3、当里面td的宽度大于table宽度时,但里面td的内容不一样,但是设置宽度不一致时,会按优先按照内容去划分宽度,剩下的再比例计算各td宽度

<table style="width: 1000px;">
    <tr>
        <td style="width: 400px;">aaa</td>
        <td style="width: 200px;">bbb</td>
        <td style="width: 200px;">cccccccccccccccccccccccccccccccccccccccccccccccccccccccc</td>
        <td style="width: 300px;">ddd</td>
    </tr>
</table>

显然ccc宽度超出按比例分配的宽度,所以优先按内容分配,剩下的
aaa、bbb、ddd的宽度均按4/9, 2/9, 3/9的比例分配

4、当前3个宽度超过1000px,ddd宽度没有指定时,则ddd是根据内容计算宽度,然后前3个在按照比例计算宽度

<table style="width: 1000px;">
    <tr>
        <td style="width: 500px;">aaa</td>
        <td style="width: 300px;">bbb</td>
        <td style="width: 400px;">ccc</td>
        <td>ddd</td>
    </tr>
</table>

上面根据内容计算ddd宽度为32.7px,aaa占比5/12,宽度为401.39,bbb占比1/4,宽度244.45,ccc占比1/3,宽度为322.48。(以上宽度为页面测量的宽度,和实际计算的宽度有一丢丢偏差,不知道问题在哪里)

5、当前3个宽度不足1000px时,ddd宽度未指定,则ddd宽度为直接补满

<table style="width: 1000px;">
    <tr>
        <td style="width: 200px;">aaa</td>
        <td style="width: 300px;">bbb</td>
        <td style="width: 400px;">ccc</td>
        <td>ddd</td>
    </tr>
</table>

以上ddd宽度为100px

6、当前2个宽度不足1000px时,ccc和ddd宽度未指定,则ccc和ddd宽度会根据内容宽度计算比例,然后去计算剩余宽度

<table style="width: 1000px;">
    <tr>
        <td style="width: 200px;">aaa</td>
        <td style="width: 300px;">bbb</td>
        <td>ccc</td>
        <td>ddd</td>
    </tr>
</table>

上面ccc为221.81px,ddd为278.19px

<table style="width: 1000px;">
    <tr>
        <td style="width: 200px;">aaa</td>
        <td style="width: 300px;">bbb</td>
        <td>ddd</td>
        <td>ddd</td>
    </tr>
</table>

上面最后两个ddd宽度均为250px

7、当table的td宽度为固定值的时候即table被设置css属性table-layout:fixed;

<table style="width: 1000px;table-layout: fixed;">
    <tr>
        <td style="width: 10px;">aaa</td>
        <td style="width: 300px;">bbb</td>
        <td style="width: 300px;">ccc</td>
        <td style="width: 390px;">ddd</td>
    </tr>
</table>

上面aaa会超出单元格并不会出现滚动条,和bbb重叠

解决:

<table style="width: 1000px;table-layout: fixed;">
    <tr>
        <td style="width: 10px;">
            <div style="width: 100%;overflow: auto;">aaa</div>
        </td>
        <td style="width: 300px;">bbb</td>
        <td style="width: 300px;">ccc</td>
        <td style="width: 390px;">ddd</td>
    </tr>
</table>

给aaa加一个div,设置宽度100%,over-flow:auto; 可以对aaa增加滚动条。


该文章在 2023/8/24 23:47:45 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved