C'est parce que l'intérieur de la div à 100% de l'opacité de la div c'est imbriquée (qui a 40% d'opacité).
Pour contourner cela, il ya quelques choses que vous pourriez faire.
vous pouvez créer deux divs de la sorte:
<div id="background"></div>
<div id="bContent"></div>
définissez les css d'opacité et d'autres propriétés dans le fond et utiliser la propriété z-index (z-index) pour le style et la position de la bContent div. Avec cela, vous pouvez placer le div overtope de l'arrière-plan div sans avoir l'opacité sali avec.
Une autre option est de RGBa. Cela vous permettra de nest votre divs et encore atteindre div spécifique de l'opacité.
La dernière option est de simplement faire un semi transparent .png image de la couleur que vous voulez dans votre choix de l'image de l'éditeur de choix, définissez la propriété background-image à l'url de l'image, puis vous n'aurez pas à vous soucier de coucher avec le css et de perdre la capacité et l'organisation d'un imbriquée div structure.