36 votes

Pourquoi les éléments de l'enfant #39;t peuvent-ils l'emporter sur l'opacité des parents avec une plus grande valeur?

Comme nous le savons, les éléments enfants ne peuvent désormais remplacer l' opacity de la propriété de son parent. L' opacity de la propriété de la société mère prend toujours effet.

Ceci a du sens lorsque l'enfant essaie de l'encastrement (écraser avec une valeur plus petite) de l'opacité de la mère. Mais qu'en est si l'enfant essaie de la remplacer par une plus grande valeur? Ne pourrait-il pas être autorisés? Pourquoi pas un translucide parents ont opaque enfant? Quelqu'un peut-il échanger des idées sur le pourquoi d'une telle restriction a été décidé dans le cadre de la CSS design?

Serait vraiment reconnaissant si quelqu'un peut jeter quelque lumière sur la raison théorique pour cette. Je suis essentiellement à essayer de trouver le pourquoi-ne peut pas partie de cette (pas des solutions de contournement; que ceux qui ai parlé d'un grand nombre de fois déjà). Je suis sûr que c'est quelque chose que beaucoup de débutant DONC croyants comme moi vous voulez savoir.

43voto

bfavaretto Points 46777

Je n'ai jamais vu que comme "substitution" ou "underriding". C'est une question de relative opacité. Si le parent a une opacité de 0.5, l'enfant a trop (par rapport à la mère d'empilage du contexte). L'enfant peut avoir sa propre valeur d'opacité entre 0 et 1, mais il sera toujours par rapport au parent de l'opacité. Donc, si l'enfant a également opacity: 0.5 , il vous sera 0.25 l'opacité de certains de la mère, de frère, de l'opacité 1.

La spec traite comme un masque alpha, où l'opacité ne peut être supprimé. Un élément est soit opaque, ou a un certain degré de transparence (ou quelque chose d' < 1):

L'opacité peut être considéré comme un post-traitement de l'opération. Sur le plan conceptuel, après l'élément (y compris ses descendants) est rendu dans un RGBA hors de l'écran, de l'image réglage de l'opacité spécifie comment mélanger les limites de l'écran de rendu dans le courant de composite de rendu.

et plus tard:

Si l'objet est un élément conteneur, alors l'effet est comme si le contenu de l'élément conteneur ont été mélangés à contre-courant de fond à l'aide d'un masque où la valeur de chaque pixel du masque est - <alphavalue>

Comme pour pourquoi il a été mis en œuvre de cette façon, je ne pense pas que c'était intentionnel dans le sens de "laisser de l'interdisent". Peut-être que cette approche a été choisie pour être plus simple à calculer, et seulement plus tard, à un réel besoin de quelque chose de différent a été reconnu (alors rgba color et background-color a été introduit – et j'ai peut-être tort sur le calendrier ici).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X