【问题标题】:Jumpy CSS transition in sidebar links text while toggle transition is running [closed]在切换转换运行时,侧边栏中的跳跃 CSS 转换链接文本[关闭]
【发布时间】:2022-01-12 10:55:05
【问题描述】:

折叠时,文本会逐渐适应侧边栏的宽度,从而导致跳跃过渡

例子:

如您所见,文本 Collapse sidebar 出现在两行而不是单行文本中,并且文本 Stackoverflow 出现得太早,无法完全显示。

想要的结果:

LIVE JS FIDDLE

我想知道是否有任何机制仅在侧边栏中适合 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 进行操作。我宁愿考虑transformtranslateX() 之类的东西。
  • @Jax-p 听起来很有希望,你能举个例子吗?

标签: javascript html css twitter-bootstrap bootstrap-5


【解决方案1】:

将以下 CSS 类添加到文本元素:

.dont-break {
  min-width: 100%;
  white-space: nowrap;
  overflow: hidden;
}

示例https://jsfiddle.net/Lnqpcujm/5/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2018-06-21
    • 2017-11-03
    • 1970-01-01
    • 2016-12-25
    • 2013-10-11
    • 1970-01-01
    相关资源
    最近更新 更多