Ich möchte das folgende für alle Tabellen definierte CSS-Styling überschreiben:
table {
font-size: 12px;
width: 100%;
min-width: 400px;
display:inline-table;
}
Ich habe eine bestimmte Tabelle mit Klasse genannt 'other'
.
Schließlich sollte die Tischdekoration so aussehen:
table.other {
font-size: 12px;
}
Also muss ich 3 Eigenschaften entfernen : width
, min-width
unddisplay
Ich habe versucht, mit none
oder zurückzusetzen auto
, aber ich habe nicht geholfen, ich meine diese Fälle:
table.other {
width: auto;
min-width: auto;
display:auto;
}
table.other {
width: none;
min-width: none;
display:none;
}
quelle
min-width
hat einen Standardwert von0
- reference.sitepoint.com/css/min-widthtable.other table
zu dem Selektor hinzufügen , der für das Zurücksetzen der Eigenschaften verwendet wirdwidth: auto
als alles, was ich überschreiben wollte, warwidth: 100%
- Danke"none" macht nicht das, was Sie vermuten. Um eine CSS-Eigenschaft zu "löschen", müssen Sie sie auf den Standard zurücksetzen, der im CSS-Standard definiert ist. Daher sollten Sie die Standardeinstellungen in Ihrer bevorzugten Referenz nachschlagen.
quelle
Versuche dies. Es wird klappen.
quelle
min-width: 0
macht nicht das gleichemin-width
? Sie werden das anstelle eines echten Standard erhalten.Die Standardeigenschaft
display
für eine Tabelle istdisplay:table;
. Der einzige andere nützliche Wert istinline-table
. Alle anderendisplay
Werte sind für Tabellenelemente ungültig.Es gibt keine
auto
Option zum Zurücksetzen auf die Standardeinstellungen. Wenn Sie jedoch in Javascript arbeiten, können Sie eine leere Zeichenfolge festlegen, die den Trick ausführt.width:auto;
ist gültig, aber nicht die Standardeinstellung. Die Standardbreite für eine Tabelle ist100%
, währendwidth:auto;
das Element nur so viel Breite einnimmt, wie es benötigt.min-width:auto;
ist nicht erlaubt. Wenn Sie festlegenmin-width
, muss es einen Wert haben, aber das Setzen auf Null ist wahrscheinlich so gut wie das Zurücksetzen auf den Standardwert.quelle
Nun,
display: none;
wird die Tabelle überhaupt nicht angezeigt, versuchen Sie esdisplay: inline-block;
mit den Deklarationen width und min-width, die 'auto' bleiben.quelle
Am Ende habe ich Javascript verwendet, um alles zu perfektionieren.
Meine JS-Geige: https://jsfiddle.net/QEpJH/612/
HTML:
CSS:
JS:
quelle
Der beste Weg, eine Einstellung für die Mindestbreite zurückzusetzen, ist:
Nicht gesetzt ist in der Spezifikation, aber einige Browser (IE 10) respektieren es nicht, so dass 0 in den meisten Fällen ein guter Fallback ist. Mindestbreite: 0;
quelle