我有一个td
与内联样式设置其width
百分比。我可以修改CSS而不是HTML。将td的宽度设置为auto?
我怎样才能让td
仅占其内容所需的宽度是多少?
下面的CSS不起作用:
td#my
{
width: auto !important;
}
我有一个td
与内联样式设置其width
百分比。我可以修改CSS而不是HTML。将td的宽度设置为auto?
我怎样才能让td
仅占其内容所需的宽度是多少?
下面的CSS不起作用:
td#my
{
width: auto !important;
}
默认情况下,表格单元格为自动宽度,但它们占用列中最宽单元格的最小宽度。因此,以此为例
td1|td2|td3|
1 |2 |3 |
这些单元格将基于第一行的宽度都相同。没有办法,我能想到的,迫使它这样做:
td1|td2|td3|
1|2|3|
这是什么,它听起来就像你正在试图做的,不是没有反正改变HTML。
尝试:
td#my {width:inherit !important;}
或
td#my {width:0% !important;}
'td#my'和'td#my''' –
有区别对不起,我的错误 – Hahn86
你需要尊重的CSS规则的特殊性。 (这样做可避免使用!重要)
http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/
内嵌样式在1000权衡在ID是100和元素1.所以要保证正确使用你的CSS规则,你将需要密切注意这一点。上面链接的文章在解释特异性方面做得比我希望达到的要好得多。阅读它,研究它,喜欢它。
如果这并不直接回答你的问题:它是一个内容丰富的文章,实际上可能通过允许您采取不同的途径解决问题。
除非内联样式也有'!important',这不是OP所具有的问题。 –
@ZachL我提到这并不能解决他的直接问题,但是它值得阅读,如果应用得当,他可以避免使用'!important'并且仍然具有所需的效果。 – rlemon
您可能需要做出一些改变的CSS为表的其他细胞。挖入以下看电池的宽度是如何计算
来自:w3.org/TR/CSS21/tables.html#width-layout
列宽被确定如下:
计算每个单元格的最小内容宽度(MCW):格式化的 内容可以跨越任意数量的行,但可能不会溢出单元格 框。如果单元的指定“宽度”(W)大于MCW,则W 是最小单元宽度。 'auto'的值意味着MCW是最小单元格宽度。 块引用
另外,计算每个小区的“最大”小区宽度:格式化 内容而不断裂比,其中显式换行符 发生其它线路。
对于每列,请确定仅跨越该列的 单元的最大和最小列宽。最小值是具有最大最小单元格宽度的 单元所需的最小值(或列'宽度', ,取较大者)。单元格所需的最大值为 最大单元格宽度(或列'宽度',取大者为 )。
对于跨越多个列的每个单元格,增加它跨越的列的最小宽度,以使它们一起至少与单元格一样宽度为 。对最大宽度做同样的操作。如有可能, 将所有跨列扩大大约相同的数量。
对于每个列组元素以“宽度”以外“自动”, 增加它跨越列的最小宽度,以便一起 它们至少一样宽的列组的“宽度”。
这给出了每列的最大和最小宽度。
你可以做一个jsFiddle的例子吗? – Ladineko
也许可以查看http://www.w3.org/TR/CSS21/tables.html#width-layout获取关于如何计算表格宽度的详细说明,以及设置此类填充的不同方法。 –
你能给我们更多的背景吗?表格'html'结构至少? –