javascript - 在 HTML 中向下/向上移动位置固定元素

标签 javascript jquery html css

我正在开发一个 HTML 框架,它的大部分页面由两部分构成。第一部分 (TopPanel) 是一个可以向下或向上滑动的滑动面板(也可以使用 jQuery)。第二部分是页面的主要部分,可以包含任何类型的 HTML 文档。

<!doctype html>
<html>
<head>
  <!--Meta scripts & more-->
</head>
<body>
<div class="TopPanel">
  <!--Panel's Contents-->
</div>
<div class="Main">
  <!--Some standard HTML docs here-->
</div>
</body>
</html>

TopPanel 向下滑动时,Main 部分的所有元素都必须向下滑动。但是 Main 部分中可能存在一些 position:fixed 元素。所以很明显它们不会移动,除非我们给它们一些 margin-top: [$('.TopPanel').height()] px;。但这不是我要照顾的!

我正在寻找一种方法来向下移动和向上移动 Main 部分的所有内容,并且效果平滑且不更改所有元素属性。

最佳答案

您是否考虑过在 body 标签上使用 CSS transform:translateY(20px)?如果您在另一个元素上使用固定位置,它实际上应该不会影响它,尽管我还没有测试过。

然后您可以使用过渡来获得您想要的平滑运动。

body{
  padding:10px;
  overflow:hidden;
  background:#fff;
  height:100%;
  transition:all .2s;
}

body.active{
  transform: translateY(60px);
}

例子:

http://codepen.io/EightArmsHQ/pen/gpwPPo

注意这类东西:Positions fixed doesn't work when using -webkit-transform

关于javascript - 在 HTML 中向下/向上移动位置固定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355116/

相关文章:

php - 将 JSON 转换为 Array 并获取类型

javascript - jquery按类确定元素id

html - IE9 的 Flexbox 替代品

html - 悬停单个菜单项而不是整个菜单时出现下拉菜单

javascript - 如何从变量名来自用户输入的数组中动态检索数据

javascript - 从 xml 动态创建下拉列表

javascript - 链接执行 javascript 代码的正确方法

javascript - 抑制 HTMLImageElement 出错

javascript - NextJS Link 组件到底触发什么以及如何捕获该事件

javascript - 如何将 List<string> 分配给 ViewBag 并在 JavaScript 中使用?