2011-03-14 6 views
1

La référence CSS indique explicitement que max-height n'est pas héritée. Le problème est, je veux qu'il soit hérité. Cependant, je n'arrive pas à obtenir l'incantation CSS correcte. La chose est, j'ai une classe CSS que je voudrais demander à DIVs puis appliquer que tous les enfants de ladite DIV honorer la propriété max-height:CSS hauteur maximale avec héritage

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

* { 
    max-height: inherit; 
} 

Malheureusement, le code ci-dessus ne fonctionne pas. Dans les outils de développement de Chrome, par exemple, le paramètre "inherit" de "max-height" est barré, comme désactivé. Une idée de comment résoudre ce problème?

Répondre

5

Peut-être que je suis ne comprend pas mais ne devrait pas ce travail?

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

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

Ce serait tous les éléments enfants de .my-viewer. Si cela ne fonctionne pas, ce qui devrait fonctionner est max-height:100% car ils sont les enfants de .my-viewer. Et je suppose que seulement .my-viewer divs sont ce que vous voulez hériter, pas tous les éléments tels que ap et ainsi de suite.

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

.my-viewer div { 
    position:relative; 
    max-height: 100%; 
} 

EDIT: Si vous êtes à la recherche d'une utilisation plus spécifique, le sélecteur >.

.my-viewer > * ou .my-viewer > div

+0

Ce serait tous les enfants de '.mon-viewer' et tous leurs enfants et leurs petits-enfants et tous leurs petits-enfants grands^n: P – BoltClock

+0

Eh bien, il n'a pas vraiment clarifié seulement les enfants directs, mais s'il le faut, il peut le changer pour être plus précis. Je vais l'ajouter à la réponse. –

+1

"enfants" n'implique pas une relation directe parent-enfant, mais je suis juste un pédant agaçant alors je vais arrêter. – BoltClock

1

Vous devriez probablement utiliser un sélecteur CSS différent:

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

Mais attention, que cela ne fonctionnera pas dans IE de toute façon (ou au moins avant IE 8), Voir here

0

Cela devrait fonctionner

* { max-height: inherit; } 

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

Comment est-ce différent du code de question? – BoltClock