Odpowiedzi:
min-heightto 0, ale ponieważ „Nieskończoność” nie jest rzeczą w CSS, max-heightdomyślnie jest to none.
Uwaga, jeśli używasz JavaScript do stylizacji elementu, tak jak $el.style.maxHeight = '50px';using $el.style.maxHeight = 'none';nie "zresetuje" ani "usunie" elementu 50px, po prostu go zastąpi. Oznacza to, że jeśli spróbujesz „zresetować” maksymalną wysokość elementu używając $el.style.maxHeight = 'none';go, zastosuje nonewartość do max-heightwłaściwości elementu, nadpisując wszelkie inne prawidłowe max-heightwłaściwości w regułach wyboru CSS, które pasują do tego elementu.
Przykład:
style.css
.set-max-height { max-height: 50px; }
main.js
document.querySelectorAll('.set-max-height').forEach($el => {
if($el.hasAttribute('data-hidden')){
$el.style.maxHeight = '0px'; // Set max-height to 0px.
} else {
$el.style.maxHeight = 'none'; // 'Unset' max-height according to accepted answer.
});
Aby faktycznie "usunąć" styl wbudowany, powinieneś użyć $el.style.removeProperty('max-height');.
Aby zakończyć to dla całej reguły stylu, a nie tylko pojedynczego elementu, należy najpierw znaleźć regułę, którą chcesz zmodyfikować, a następnie wywołać removePropertyfunkcję na tej regule:
for(let i = 0; i < document.styleSheets[0].cssRules.length; ++i){
if(document.styleSheets[0].cssRules[i].selectorText == '.set-max-height'){
document.styleSheets[0].cssRules[i].style.removeProperty('max-height');
break;
}
}
Możesz znaleźć StyleSheetiCssRule obiekty, jak chcesz, ale dla prostej aplikacji jestem pewien, że powyższe wystarczy.
Przepraszam za podanie tego jako odpowiedzi, ale nie mam 50 powtórzeń, więc nie mogę komentować.
Twoje zdrowie.
Możesz użyć
max-height: unset;
która resetuje właściwość do jej odziedziczonej wartości, jeśli dziedziczysz z jej elementu nadrzędnego (będzie działać jako dziedziczenie słowa kluczowego), a jeśli nie dziedziczysz, zresetuje ją do wartości początkowej (będzie działać jako słowo kluczowe).
min-height(nonejest niedozwolone i powoduje, że wartość nie jest zastępowana).