回答:
以下のようにあなたのスタイルに要素をJavaScriptを使用している場合だけノートでは、$el.style.maxHeight = '50px';
使用して$el.style.maxHeight = 'none';
「リセット」ではないだろうか、「削除」50px
、それは単にそれを上書きします。つまり、要素を使用し$el.style.maxHeight = 'none';
て要素の最大の高さを「リセット」しようとすると、そのnone
値max-height
が要素のプロパティに適用され、他の有効な要素が上書きされます。max-height
その要素に一致するCSS選択ルールのプロパティが。
例:
styles.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.
});
インラインスタイルを実際に「設定解除」するには、 $el.style.removeProperty('max-height');
。
単一の要素だけでなく、スタイルルール全体に対してこれを完了するには、まず変更するルールを見つけてから、removeProperty
そのルールで関数を呼び出します。
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;
}
}
あなたが見つけることができますStyleSheet
し、CssRule
オブジェクトは好きなが、単純なアプリケーションでは、上記で十分だと確信しています。
これを答えにして申し訳ありませんが、50人の担当者がいないためコメントできません。
乾杯。
使用できます
max-height: unset;
これは、親から継承している場合はプロパティを継承値にリセットします(キーワード継承として機能します)。継承していない場合は、プロパティを初期値にリセットします(キーワード初期値として機能します)。
min-height
(none
許可されていないため、値がオーバーライドされません)。