It is necessary that when you hover or click on the radio
.open2 img {display: none;} changed to {display: block;}
<div id='apple_iphone' class='gadget_open'> <div class='open1'> <input type='radio' id='iphone_4' name='iphone_model' value='4'> <label for='iphone_4'>4</label> </div> <div class='open2'> <img src='img/iphone.jpg' alt=''> </div> </div> css
.open2 img {display: none;}
cssworks in cascade, i.e. it passes through selectors deep into, then it is necessary that the processed blocks are neighbors of one guy - lexxl