覆盖并重置CSS样式:auto或none不起作用

ser*_*nni 125 css overriding width

我想覆盖为所有表定义的以下CSS样式:

table {
        font-size: 12px;
        width: 100%;
        min-width: 400px;
        display:inline-table;
    }
Run Code Online (Sandbox Code Playgroud)

我有一个叫做类的特定表'other'.
最后餐桌装饰应该如下:

table.other {
    font-size: 12px;
}
Run Code Online (Sandbox Code Playgroud)

所以我需要除去3个属性:width,min-widthdisplay

我尝试用none或重置auto,但没有帮助,我的意思是这些情况:

table.other {
    width: auto;
    min-width: auto;
    display:auto;
}
table.other {
    width: none;
    min-width: none;
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

Yi *_*ang 183

我相信第一组属性不起作用的原因是因为没有autodisplay,所以应该忽略该属性.在这种情况下,inline-table仍然会生效,并且由于width不适用于inline元素,该组属性将不会执行任何操作.

第二组属性将简单地隐藏表格,因为它就是这样display: none.

请尝试将其重置为table:

table.other {
    width: auto;
    min-width: 0;
    display: table;
}
Run Code Online (Sandbox Code Playgroud)

编辑: min-width默认为0,不是auto

  • @sergionni哦,是的,我忘了 - "min-width"的默认值为"0" - http://reference.sitepoint.com/css/min-width (6认同)
  • 当我想要覆盖的只是“width: 100%”时,使用“width: auto”——谢谢 (2认同)

ten*_*our 17

"无"不会做你所认为的那样.为了"清除"CSS属性,必须将其设置回默认值,该默认值由CSS标准定义.因此,您应该在您喜欢的参考中查找默认值.

table.other {
    width: auto;
    min-width: 0;
    display:table;
}
Run Code Online (Sandbox Code Playgroud)


小智 9

Set min-width: inherit /* Reset the min-width */
Run Code Online (Sandbox Code Playgroud)

试试这个.它会工作.

  • 这应该是一个公认的答案.`min-width:0`不会做同样的事情 (2认同)

Spu*_*ley 7

display表的默认属性是display:table;.唯一有用的另一个值是inline-table.display表元素的所有其他值均无效.

没有auto选项可以将其重置为默认值,但如果您使用的是Javascript,则可以将其设置为空字符串,这样就可以了.

width:auto;有效,但不是默认值.表的默认宽度是100%,但是width:auto;会使元素只占用所需的宽度.

min-width:auto;是不允许的.如果设置min-width,它必须有一个值,但将其设置为零可能与将其重置为默认值一样好.