CSS: Why background-color breaks/removes the box-shadow?
css, html
Solution
You just need to add `z-index` and `position:relative;` See the example:
.offerBox {
border-radius: 6px;
width: 300px;
margin: 10px;
}
.obOffer {
position: relative; // this
width: 33%;
float: left;
height: 100px;
text-align: center;
z-index: 0;
}
.obOfferPrice {
padding: 10px;
color: white;
background-color: #85AADD;
}
.obHiLight {
z-index: 10;
box-shadow: 0 0 25px rgba(0, 0, 0, 0.6);
}
<div class="offerBox">
<div class="obOffer">
<div class="obOfferTitle">Free</div>
<div class="obOfferPrice">Free</div>
</div>
<div class="obOffer obHiLight">
<div class="obOfferTitle">Title</div>
<div class="obOfferPrice">$10</div>
</div>
<div class="obOffer">
<div class="obOfferTitle">Title 2</div>
<div class="obOfferPrice">$10</div>
</div>
</div>
Problem
I have a pretty simple div structure - tree boxes with middle box highlighted with box-shadow: ``` .offerBox { width: 300px; margin: 10px; } .obOffer { width: 33%; float: left; height: 100px; text-align: center; } .obOfferPrice { padding: 10px; color: white; background-color: #85AADD; } .obHiLight { box-shadow: 0 0 25px rgba(0, 0, 0, 0.6); -moz-box-shadow: 0 0 25px rgba(0, 0, 0, 0.6); -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.6); } ``` ``` <div class="offerBox"> <div class="obOffer"> <div class="obOfferTitle">Free</div> <div class="obOfferPrice">Free</div> </div> <div class="obOffer obHiLight"> <div class="obOfferTitle">Title</div> <div class="obOfferPrice">$10</div> </div> <div class="obOffer"> <div class="obOfferTitle">Title 2</div> <div class="obOfferPrice">$10</div> </div> </div> ``` One of the elements inside those boxes have a background-color property set. For some reasons this background-color removes the box-shadow from the right and only from the right. Any ideas why and how to fix it? Live Example of the problem: http://jsfiddle.net/SqvUd/