【发布时间】:2022-01-12 10:55:05
【问题描述】:
折叠时,文本会逐渐适应侧边栏的宽度,从而导致跳跃过渡
例子:
如您所见,文本 Collapse sidebar 出现在两行而不是单行文本中,并且文本 Stackoverflow 出现得太早,无法完全显示。
想要的结果:
我想知道是否有任何机制仅在侧边栏中适合 100% 且未分成两行时才显示文本。
我需要的是只有在折叠过渡完成后才会出现的文本。
我尝试过的:
-增加/减少过渡时间(太激进了,如果我删除过渡就可以了,但不知何故必须是平滑的,所以这不是一个有效的解决方案)
.sidebar{
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 290px;
background: #193D4C;
z-index: 100;
transition: all 0.5s ease;
}
-使用backface-visibility 属性。没用。
-像这样使用 Bootstrap 5 事件类型shown.bs.collapse:
var myCollapsible = document.getElementById('sidebar')
myCollapsible.addEventListener('shown.bs.collapse', function () {
alert("it works!"); //This never gets fired
})
我一直在寻找类似的问题,但我没有找到任何东西
【问题讨论】:
-
我不会为
width制作动画。它使用布局(累积布局移位 + 浏览器必须重新计算布局)和width is not very efficient in animation 进行操作。我宁愿考虑transform与translateX()之类的东西。 -
@Jax-p 听起来很有希望,你能举个例子吗?
标签: javascript html css twitter-bootstrap bootstrap-5