当前位置: 首页 > 面试题库 >

在表中使用calc()

夏新翰
2023-03-14
问题内容

我正在尝试使用具有固定宽度tds和可变宽度tds的表。

我正在使用CSS calc()函数,但是似乎无法%在表中使用。

所以这就是我到目前为止:

<table border="0" style="width:100%;border-collapse:collapse;">
    <tr style="width:100%">
        <td style="width:30px;">1</td> <!--Fixed width-->
        <td style="width: calc( (100% - 230px) / 100 * 40);">Title</td> <!--Width should be 40% of the remaining space-->
        <td style="width: calc( (100% - 230px) / 100 * 40);">Interpret</td> <!--Width should be 40% of the remaining space-->
        <td style="width: calc( (100% - 230px) / 100 * 20);">Album</td> <!--Width should be 20% of the remaining space-->
        <td style="width:80px;">Year</td><!--Fixed width-->
        <td style="width:180px;">YouTube</td><!--Fixed width-->
    </tr>
</table>

我怎么看,它应该起作用,但事实并非如此。

有人知道如何解决这个问题吗?或者,也许还有其他建议可以帮助我实现目标?


问题答案:

表具有很难分配列空间的规则,因为默认情况下,表依赖于单元格的内容来分配空间。Calc(atm)不会与此配合使用。

但是,您可以做的是为设置table-layout属性,table以强制子td元素获得您声明的确切宽度。为此,您还需要在桌子上放一个width100%works)。

table{
   table-layout:fixed; /* this keeps your columns with at the defined width */
   width: 100%;        /* a width must be specified */

   display: table;     /* required for table-layout to be used 
                          (since this is the default value it is normally not necessary;
                          just included for completeness) */
}

然后在其余列上使用纯百分比。

td.title, td.interpret{
    width:40%;
}
td.album{
    width:20%;
}

用完固定宽度列的空间后,剩余空间将以相对宽度分布在列之间。

为此,您需要默认的显示类型display: table(而不是display:block)。但是,这意味着您不能再有该表的height(包括min-heightmax-height)。



 类似资料:
  • 可以使用“制表符”面板(“窗口”>“文字”>“制表符”)来设置段落或文字对象的制表位。有关使用和设置选项卡的更多信息,请参阅 Web 帮助。 制表符面板概述 可以使用“制表符”面板(“窗口”>“文字”>“制表符”)来设置段落或文字对象的制表位。“制表符”面板 A. 制表符对齐按钮 B. 制表符位置 C. 制表符前导符框 D. 对齐位置框 E. 面板菜单 F. 制表符标尺 G. 在框架上方放置面板 

  • 我很难找到一条我知道有效的规则。drl表单,用于在决策表中工作。 这是我的drl形式的规则: 以下是我在电子表格中尝试的内容: 当我尝试从电子表格中运行规则时,我遇到以下错误: from子句似乎有问题,但我不知道为什么。我尝试了无数次谷歌搜索,这是我唯一能找到的:http://drools-moved.46999.n3.nabble.com/Question-on-excel-decision-t

  • 大家好,我对vue表2有问题。我向我的应用程序传递一个带有以下内容的Vue组件: 它返回“http://anotherdomain.com/api/endpoint" 但是,当我对Vue表2执行以下操作时,此配置会出现以下错误:“属性内部的插值已被删除。请改用v-bind或冒号速记。” 有没有更好的方法来实现我的需求?我使用的是Laravel,因此只能从blade模板访问该url变量

  • 作为背景,如果我想比较两个字段,我不能使用以下语法(因为它比较的是文字字符串“$lastname”,而不是$lastname字段的内容): 我得用这个: 如果我想测试一个字段是否存在,我必须使用第一种格式: 我认为用后一种格式表达$exists运算符的正确方法会引发错误: 这是否意味着至少在某些情况下不可能组合这些操作?具体地说,假设我想查找存在$fullname$或$firstname$ne$l

  • 我一直在使用图表。js图表。js文档 我有一张显示多条线的图表。该图是单位时间内药物浓度的变化图,我想在各种场景下运行该图,如实时、x2、x4、x8等,因此,当下一秒到来时,我希望该图使用新的计算数据进行更新,然后刷新/更新图表。 问题是图表在for循环完成之前不会刷新,我希望图表每秒显示更新的数据。 文档中说update()应该执行以下操作。。。 在图表实例上调用update()将使用任何更新的

  • 问题内容: 我有一个带有div的html页面,这些div的 ID 为 s1 , s2 等形式。 我想将CSS属性应用于这些部分/ div的子集(取决于id)。但是,每次添加 div时 ,都必须像这样分别为该部分添加css。 css中是否有类似正则表达式的内容,可用于将样式应用于一组 div 。 问题答案: 您可以设法选择那些元素而无需任何形式的正则表达式,如先前的答案所示,但是要直接回答问题,可以