javascript - bootstrap affix 如何将其固定到父元素

标签 javascript css twitter-bootstrap

我想以与 stackoverflow 的提问 页面右侧的“如何格式化”类似的方式使用 bootstrap 词缀。

我可以通过添加 css .affix { top: 70px } 并使用 class='affix' data-spy='affix' 使其附加到视口(viewport)在 html 中,但是如果我想将词缀元素固定到父元素怎么办?

例如,如果我有这样的html:

<div class='affix-container'>
  <div class='left-panel'>
    some form, including a textarea
  </div>
  <div class='right-panel affix' data-spy='affix'>
    how to format
  </div>
</div>

我希望 right-panel 仅相对于 affix-container 附加,所以当我向下滚动时,如果 affix-container 仍在视口(viewport)中,然后附加 right-panel,否则让 right-panel 向上滚动。

如果 affix-container 是可调整大小的,我还能这样做吗? IE。它的大小/高度随着它包含的文本区域的大小而增加?

最佳答案

如果你想跟踪左面板的滚动移动,你需要使用带有词缀的滚动 spy 。您首先需要设置 body 标签。

<body data-spy="scroll" data-target="#myScrollspy" data-offset="200">

这里的偏移量将确保跟踪仅从顶部 200 处开始,具体取决于标题大小等。然后右侧面板将获得 id="myScrollspy",例如

<div class="hidden-xs col-sm-2" id="myScrollspy">
    <div class="right-panel affix" data-spy="affix" data-offset-top="400">
    </div>
</div>

元素的固定固定在 400 偏移处(如果您有标题等则很有用)。然后,当您从某个点向前滚动时,您可以使用 css 更改位置。我已经添加了来 self 的代码提取物并且可以使用/忽略的东西,即在 xs 屏幕上我隐藏了我的 scrollspy,否则它在父行中占用 2 列。

.affix {
   top: 100px;
 }

应该可以与可调整大小的容器一起使用,但我没有测试它。

关于javascript - bootstrap affix 如何将其固定到父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947633/

相关文章:

javascript - 如何在 JavaScript 中编写正则表达式来匹配 1Y 但不匹配 1YY

javascript - 如何使用 JQuery 添加 number_field_tag 的值

jquery - 菜单的文字不适合小屏幕

html - 如何创建带有菜单的侧边栏和一些下拉菜单

jquery - 如果按钮未放置在模态主体内,则关闭 Bootstrap 模态

javascript - 有没有办法在 DalekJS 中进行嵌套测试?

javascript - CSS 样式 td 元素取决于 td 宽度

javascript - 流式不起作用?

javascript - 响应式三列重新堆叠

javascript - 有没有办法让 CSS 中的每个单词都具有不同的颜色?