我有兩個盒子。當點擊一個按鈕時,左邊的框應該變小,右邊的框變大。我的目標是順利過渡。當正確的框變大時,我想要包括一個保證金權利。CSS3:寬度和邊距同時變化
我使用CSS3過渡效果。我怎樣才能達到這一點,正確的框寬度和邊距正確的過渡發生同時和正確?
JS小提琴: http://jsfiddle.net/bmzw80py/4/
我的代碼:
HTML:
<div class="container">
<div class="box-left"></div>
<div class="box-right"></div>
</div>
<button id="animate">Animate</button>
CSS:
.container {
width: 100%;
height: 200px;
padding: 40px 0 0 60px;
}
.box-left {
float: left;
width: 60%;
height: 100px;
background: blue;
}
.box-left-smaller {
-webkit-transition: width 1s ease-in-out;
-moz-transition: width 1s ease-in-out;
-o-transition: width 1s ease-in-out;
transition: width 1s ease-in-out;
width: 355px;
}
.box-right {
float: right;
width: 30%;
height: 100px;
background: orange;
}
.box-right-bigger {
-webkit-transition: width 1s ease-in-out;
-moz-transition: width 1s ease-in-out;
-o-transition: width 1s ease-in-out;
transition: width 1s ease-in-out;
-webkit-transition: margin 1s ease-in-out;
-moz-transition: margin 1s ease-in-out;
-o-transition: margin 1s ease-in-out;
transition: margin 1s ease-in-out;
width: 62%;
margin-right: 80px;
}
個JS:
$('#animate').click(function() {
$('.box-left').addClass('box-left-smaller');
$('.box-right').addClass('box-right-bigger');
});
自己已經做得同時發生。你必須更好地「正確」定義你的意思。 – BFWebAdmin
我希望寬度和邊距右移都平滑緩慢地出現。如果我刪除.box右側較大的類中的邊緣部分,則會根據需要進行寬度轉換。但是,我怎樣才能做到這一點,另外保證金的權利是平穩而不是突然的呢? – Max
@max請參閱下面的我的方法,稍作改進 – fcalderan