2015-01-13 98 views
0

我是新來的CSS3動畫,我遇到了試圖創建幻燈片菜單的小問題。用於移動圖像和div的CSS3動畫

我有以下的HTML代碼:

這CSS代碼:

#hackyCheckBox{display: none;} 

.test{ 
    height: 30px; 
    width: 50px; 
} 

#greenPart{height: 100px; width: 300px; background-color: green;} 

.test, #greenPart{ 
    -webkit-transition-duration: 1s; 
    -moz-transition-duration: 1s; 
    -ms-transition-duration: 1s; 
    -o-transition-duration: 1s; 
    transition-duration: 1s; 

    -webkit-transition-property: -webkit-transform; 
    -moz-transition-property: -moz-transform; 
    -ms-transition-property: -ms-transform; 
    -o-transition-property: -o-transform; 
    transition-property: transform; 
} 

#hackyCheckBox:checked + label img.test{ 
    transform:   translate(160px,0px); /* CSS3 */ 
    -moz-transform: translate(160px,0px); /* Firefox */ 
    -webkit-transform: translate(160px,0px); /* Webkit */ 
    -o-transform:  translate(160px,0px); /* Opera */ 
    -ms-transform:  translate(160px,0px); /* IE 9 */ 
} 

我的問題是,當我點擊了蝙蝠俠的標誌,只標識移動,而不是股利。 這裏的的jsfiddle如果它可以幫助你:http://jsfiddle.net/1yLqzyjf/2/

回答

1

移動的div#greenPartimg元素內label和使用適當的選擇爲 - >#hackyCheckBox:checked + label div#greenPart

#hackyCheckBox { 
 
    display: none; 
 
} 
 
.test { 
 
    height: 30px; 
 
    width: 50px; 
 
} 
 
#greenPart { 
 
    height: 100px; 
 
    width: 300px; 
 
    background-color: green; 
 
} 
 
.test, 
 
#greenPart { 
 
    -webkit-transition-duration: 1s; 
 
    -moz-transition-duration: 1s; 
 
    -ms-transition-duration: 1s; 
 
    -o-transition-duration: 1s; 
 
    transition-duration: 1s; 
 
    -webkit-transition-property: -webkit-transform; 
 
    -moz-transition-property: -moz-transform; 
 
    -ms-transition-property: -ms-transform; 
 
    -o-transition-property: -o-transform; 
 
    transition-property: transform; 
 
} 
 
#hackyCheckBox:checked + label div#greenPart { 
 
    -webkit-transform: translate(160px, 0px); 
 
    -ms-transform: translate(160px, 0px); 
 
    transform: translate(160px, 0px); 
 
}
<input type="checkbox" id="hackyCheckBox"> 
 
<label for="hackyCheckBox"> 
 
    <div id="greenPart"> 
 
    <img class="test" src="http://www.vectortemplates.com/raster/batman-logo-big.gif" /> 
 
    </div> 
 
</label>

+0

您的解決方案的工作,但現在如果我點擊「greenPart格」它甚至會移動。我只想在點擊圖片時移動div。對不起,如果不清楚。 – Charles

+0

@Charles - 如果這是你想要的,你將不得不使用JavaScript或jQuery,因爲CSS沒有父選擇器。 –

+0

何我看到......這就是爲什麼我失去了這麼多時間。感謝您的快速回答 – Charles