Как уже упоминалось в этом и других подобных потоках, лучший способ избежать этой проблемы - использовать RGBA / HSLA или использовать прозрачный PNG.
Но если вам нужно смешное решение, аналогично тому, который был связан с другим ответом в этом потоке (который также является моим сайтом), вот новый скрипт, который я написал, который автоматически исправляет эту проблему, называется thatsNotYoChild.js:
http: / /www.impressivewebs.com/fixing-parent-child-opacity/
В основном он использует JavaScript для удаления всех дочерних элементов из родительского div, а затем переводит дочерние элементы обратно туда, где они должны быть без фактического рождения детей этого элемента.
Для меня это должно быть последним средством, но я подумал, что было бы интересно написать что-то, что сделало это, если кто-то захочет это сделать.