bootstrap 4 动画列宽变化
bootstrap 4 animate column width change
我有两列是这样的:
<div class="container">
<div class="row">
<div class="col-9"></div>
<div class="col-3"></div>
</div>
</div>
我正在通过 angular 将类名切换为 col-8 offset-2
和 col-0
。 col-0
是 width:0;margin:0;padding:0
.
我想知道如何为列的宽度和位置设置动画。
由于 Bootstrap 4 使用 flexbox,CSS 过渡动画不起作用,除非您在列上设置数字 flex-grow
或 flex-shrink
。
.col-8 {
flex-grow: 1;
transition: all 400ms ease;
}
.col-0 {
width: 0;
flex-shrink: 1;
transition: all 400ms ease;
}
演示:http://www.codeply.com/go/4Un0Q8CvkQ
要在更改媒体查询断点时为网格列设置动画(而不是通过 jQuery 切换 类),您可以简单地在网格列上使用 CSS 转换。
.row [class*='col-'] {
transition: all 0.5s ease-in-out;
}
我使用 Bootstrap 提供的列大小来更改列大小。
例如 col-2 到 col-1
然后我将过渡调整为仅针对特定类型
.row [class*='col-'] {
transition: flex 0.5s ease-in-out, max-width .5s ease-in-out;
}
我一直在试验这个。谢谢你们的回答!
你可以试试这个...
.container {
/*transition: flex 0.5s ease-in-out, max-width 0.5s ease-in-out;
*/
transition: flex 0.75s cubic-bezier(0.23, 1, 0.32, 1),
max-width 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}
我有两列是这样的:
<div class="container">
<div class="row">
<div class="col-9"></div>
<div class="col-3"></div>
</div>
</div>
我正在通过 angular 将类名切换为 col-8 offset-2
和 col-0
。 col-0
是 width:0;margin:0;padding:0
.
我想知道如何为列的宽度和位置设置动画。
由于 Bootstrap 4 使用 flexbox,CSS 过渡动画不起作用,除非您在列上设置数字 flex-grow
或 flex-shrink
。
.col-8 {
flex-grow: 1;
transition: all 400ms ease;
}
.col-0 {
width: 0;
flex-shrink: 1;
transition: all 400ms ease;
}
演示:http://www.codeply.com/go/4Un0Q8CvkQ
要在更改媒体查询断点时为网格列设置动画(而不是通过 jQuery 切换 类),您可以简单地在网格列上使用 CSS 转换。
.row [class*='col-'] {
transition: all 0.5s ease-in-out;
}
我使用 Bootstrap 提供的列大小来更改列大小。 例如 col-2 到 col-1 然后我将过渡调整为仅针对特定类型
.row [class*='col-'] {
transition: flex 0.5s ease-in-out, max-width .5s ease-in-out;
}
我一直在试验这个。谢谢你们的回答! 你可以试试这个...
.container {
/*transition: flex 0.5s ease-in-out, max-width 0.5s ease-in-out;
*/
transition: flex 0.75s cubic-bezier(0.23, 1, 0.32, 1),
max-width 0.75s cubic-bezier(0.23, 1, 0.32, 1);
}