2011-03-14 12 views
1

CSSリファレンスには、max-heightが継承されていないことが明示されています。問題は、私はそれが継承されることです。しかし、私は正しいCSSの呪文を得ることができません。継承付きCSS最大高さ

.my-viewer { 
    max-height: 800px; 
} 

* { 
    max-height: inherit; 
} 

残念ながら、上記のコードは動作しません:事は、私はdiv要素に適用され、その後のすべての子どもたちがDIVがmax-height財産を尊重すると述べたことを強制したいCSSクラスを持っている、です。たとえば、Chrome開発ツールでは、「max-height」の「継承」設定が無効になっています。どのようにこれを修正するための任意のアイデア?

おそらく異なるCSSセレクタを使用する必要があり

答えて

5

を参照してください、

.my-viewer { 
    max-height: 800px; 
} 
.my-viewer * { 
    max-height: inherit; 
} 

をしかし、これは(あるいは、少なくともIE 8の前に)とにかくIEで動作しないことに、注意してください理解していないが、この作品ではないはずですか?

.my-viewer { 
    max-height: 800px; 
} 

.my-viewer * { 
    max-height: inherit; 
} 

これはすべて子要素.my-viewerです。それがうまくいかない場合は、max-height:100%.my-viewerの子であるため、動作するはずです。そして、.my-viewer divsだけが継承したいものであると仮定しています。apなどのすべての要素ではありません。

EDIT:>セレクタを使用してください。

.my-viewer > *または.my-viewer > div

+0

はすべて.MY-viewer' 'の子供たちとすべての子供たちとすべての孫とそのすべての偉大な^ n個の孫であろうと動作するはずです:P – BoltClock

+0

まあ、彼は本当に直接の子供たちだけを明確にしていませんでしたが、必要であればより具体的にそれを変えることができます。私はそれを答えに加えます。 –

+1

「子供たち」は、直接的な親子関係を意味しますが、私はちょうど迷惑な仲間になっているので、私はやめます。 – BoltClock

0

これは

* { max-height: inherit; } 

.my-viewer { max-height: 800px; } 
+0

これはどのように質問コードと異なるのですか? – BoltClock