javascript - bootstrap flex 全宽元素,内容对齐

标签 javascript jquery css twitter-bootstrap

我有一个 div,它在滚动到时变为 fixed。我希望这个 div 在它处于 fixed 状态时全宽。我通过将 width: 100% 设置为相关的 div 来完成此操作。问题是我希望 div 的内容仍然与页面的内容对齐,而不是向左移动。我希望能够在不更改当前 html 标记的情况下执行此操作。


示例:滚动到fixed 状态时的全宽。

fiddle :https://jsfiddle.net/DTcHh/19335/


示例:如果我添加 padding left 以使内容向内移动,则此操作有效。问题是剩下的填充可以是任何数字——有没有办法可靠地解决这个问题?

fiddle :https://jsfiddle.net/DTcHh/19337/


CSS:

#myDiv.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

J查询:

$(window).scroll(function() {
  if (isScrolledIntoView($('#myDivWrapper'))) {
    if (!initSet) {
      initSet = true;
    }
    $("#myDiv").removeClass('fixed');
  } else if (initSet) {
    $("#myDiv").addClass('fixed');
  }
});

最佳答案

#myDiv 中添加一个额外的 .container div,并在修复发生时调整填充。

<div id="myDivWrapper">
    <div id="myDiv">
      <div class="container">
        <p>
          This should be fixed once it comes into view and then goes out of view.
        </p>
      </div>
    </div>
  </div>


#myDiv .container {
  padding: 0;
}

#myDiv.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

#myDiv.fixed .container {
padding: 0 15px;
}

这可能需要稍微整理一下,但我想您明白了。

JSfiddle

关于javascript - bootstrap flex 全宽元素,内容对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620438/

相关文章:

javascript - 添加不同的形状

javascript - (jQuery 插件)在多项选择测验中拖放答案

css - 在文本输入元素上禁用用户选择

jquery - overflow-x 以避免在浏览器中出现任何水平滚动

javascript - 在循环中执行 ajax 查询,然后执行使用其组合输出的函数

javascript - 当文件名位于 redux 存储中时如何指定图像路径

javascript - Javascript 中的现场声音合成 : any way to reduce latency?

jquery - 阻止 bootstrap 3 在导航栏按钮的末端创建填充

javascript - 添加自定义属性以更好地分离 JavaScript 和 HTML

html - style.css 不适用于我网站的虚拟主机预览,但它适用于本地 "offline"HTML 文件