У меня есть две коробки. При нажатии кнопки левый флажок должен быть меньше, а правый квадрат больше. Я стремлюсь к плавному переходу. Когда правый квадрат становится больше, я хочу, чтобы правое поле было включено.CSS3: одновременное изменение ширины и края
Я использую эффект перехода CSS3. Как я могу достичь этого для правильного окна, переходы ширины и края справа происходят одновременно и правильно?
JS Fiddle: 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-right-large, переход по ширине происходит по желанию. Но как мне добиться этого, кроме того, правая маржа устанавливается плавно и не резко? – Max
@max см. Также мой подход ниже, для небольшого улучшения – fcalderan